003集—— CAD批量划线和text文字(CAD—C#二次开发入门)

news2024/11/20 19:40:53

 本例通过for循环创建255条线,颜色不同,并在线的右端点处注记文字。

效果如下:

本文有个事务的封装函数,如下:

  private ObjectId AppendEntity(Entity  entity)
  {
      ObjectId objectId;
      Database db = HostApplicationServices.WorkingDatabase;
          using (Transaction tr = db.TransactionManager.StartTransaction())
          {
              BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
              BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace ], OpenMode.ForWrite );
              objectId = btr.AppendEntity(entity);
              tr.AddNewlyCreatedDBObject(entity, true);
              tr.Commit ();   
          }
              return objectId;  
  }

完整代码如下:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AcTools;
namespace AcTools
{
    
    public class Class1
    {
        private ObjectId AppendEntity(Entity  entity)
        {
            ObjectId objectId;
            Database db = HostApplicationServices.WorkingDatabase;
                using (Transaction tr = db.TransactionManager.StartTransaction())
                {
                    BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
                    BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace ], OpenMode.ForWrite );
                    objectId = btr.AppendEntity(entity);
                    tr.AddNewlyCreatedDBObject(entity, true);
                    tr.Commit ();   
                }
                    return objectId;  
        }

        private Entity[]  Mydemol( List <Line > mya )
        {   
            Entity[] ent = new Entity[mya.Count ];
            for (int i = 0; i < mya.Count; i++)
            {
             
                mya[i].ColorIndex = i;
               
            
                ent[i] = (Entity)mya[i];   
            };
            return ent;
        }
        private Entity[] Mydemot(List<DBText > mya)
        {
            Entity[] ent = new Entity[mya.Count];
            for (int i = 0; i < mya.Count; i++)
            {

                mya[i].ColorIndex = i;


                ent[i] = (Entity)mya[i];
            };
            return ent;
        }
        [CommandMethod("xx")]
        public void Caddemo()
        {
            
            ///
            Database db = HostApplicationServices.WorkingDatabase;
            //for (int i = 0; i < 1000; i++)
            //{
            // Circle circle = new Circle(new Point3d(0,0,0),new Vector3d (0,0,1),(double)i);
            //    AppendEntity(circle);
            //    Line line = new Line(new Point3d(i, i, 0), new Point3d(i + 100, i + 100, 0));
            //    AppendEntity(line );
            //   // AddEntityTools .AddEntityToModeSpace (db,line);
            //}
            CircularArc3d c3 = new CircularArc3d(new Point3d(0, 0, 0), new Point3d(0, 100, 0), new Point3d(100, 100, 0));
            //Line[] line = new Line[100]; 
            List<Line> line1  = new List<Line>();
            List <DBText > text1 = new List<DBText>();
            for (int i = 0; i < 255; i++)
            {
               
                Line  line = new Line(new Point3d(0, i, 0), new Point3d(100, i , 0));
                line.ColorIndex = i;
                DBText text = new DBText();
                text.TextString  = i.ToString();
                text.Position = new Point3d(100, i, 0); 
                text.Height  = i / 20 + 1;
                text.ColorIndex = i;
                text1.Add(text);
              
                line1.Add(line); 
                AppendEntity(text);
                AppendEntity(line);
            }
           //db.AddEntityToModeSpace ( Mydemol(line1));
           //db.AddEntityToModeSpace(Mydemot(text1));



        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

❤Node实现接口增删改查(文章为例)

❤Node实现接口增删改查&#xff08;文章为例&#xff09; 1、文章表的创建​ 接下来我们新建一个文章数据表article&#xff0c;实现对于文章部分的管理功能接口 根据文章我们创建一个对应的 SQL 数据表 javascript CREATE TABLE articles (id INT AUTO_INCREMENT PRIMAR…

亚马逊卖家如何利用自养号测评策略低成本提升销量?

在跨境电商的平台上&#xff0c;随着市场逐渐成熟与竞争的白热化&#xff0c;众多卖家正面临流量增长乏力与转化率提升困难的双重挑战。为了在这日益激烈的竞争环境中脱颖而出&#xff0c;卖家们纷纷加大投入&#xff0c;探索多样化的推广策略&#xff0c;但往往因策略不够精准…

探索Kombo:AI与API的完美结合

文章目录 探索Kombo&#xff1a;AI与API的完美结合背景介绍库的定义安装指南简单函数使用场景应用常见问题及解决方案总结 探索Kombo&#xff1a;AI与API的完美结合 背景介绍 在当今快速发展的人工智能领域&#xff0c;Kombo库以其独特的优势脱颖而出。Kombo是一个专注于AI的…

2024年7月大众点评全国爱车前百名城市分析

在做一些城市分析、学术研究分析、商业选址、商业布局分析等数据分析挖掘时&#xff0c;大众点评的数据参考价值非常大&#xff0c;截至2024年7月&#xff0c;大众点评美食店铺剔除了暂停营业、停止营业后的最新数据情况分析如下。 分析研究的字段维度包括大众点评数字id、字母…

微信商城小程序怎么弄_重塑购物体验

在数字化浪潮的推动下&#xff0c;微信商城小程序正逐步成为消费者购物的新宠儿。它不仅打破了传统电商的界限&#xff0c;更以其便捷性、高效性和个性化服务&#xff0c;重新定义了购物体验。今天&#xff0c;让我们一同探索微信商城小程序如何以独特魅力&#xff0c;引领未来…

巴鲁夫rfid读头国产平替版——高频RFID读写器

随着RFID技术的不断发展&#xff0c;国内RFID企业的数量也在不断地变多&#xff0c;国产RFID读写器的质量也越来越高。具有着价格实惠、质量可靠等特点&#xff0c;成为了可平替国外RFID产品的首要选择。健永科技的高频RFID读写器JY-H830&#xff0c;是一款可平替巴鲁夫rfid读头…

完美解决Idea中如何对Java Agent进行断点调试的方式

1、前言 在日常开发中&#xff0c;可能会存在写一个Java Agent到项目中去&#xff0c;Agent的实现可能是复杂的&#xff0c;有时候会出现attach到进程上后&#xff0c;发现没效果&#xff0c;也不知道怎么调试&#xff0c;只能通过打日志的方式实现&#xff0c;效率实在是太低…

大数据实时数仓Hologres(三):存储格式介绍

文章目录 存储格式介绍 一、格式 二、使用建议 三、技术原理 1、列存 2、行存 3、行列共存 四、使用示例 存储格式介绍 一、格式 在Hologres中支持行存、列存和行列共存三种存储格式&#xff0c;不同的存储格式适用于不同的场景。在建表时通过设置orientation属性指…

C++ bitset(位图)的模拟实现

文章目录 一、bitset接口总览二、bitset模拟实现1. 构造函数2. set、reset、flip、test3. size、count4. any、none、all5. 打印函数 三、完整代码 一、bitset接口总览 成员函数功能set设置指定位或所有位为1&#xff08;即设置为“已设置”状态&#xff09;reset清空指定位或…

华为eNSP:MAC地址安全

一、什么是MAC地址安全 MAC地址安全是一种网络安全措施&#xff0c;用于保护网络设备和通信免受未经授权的访问和潜在的安全威胁。以下是对MAC地址安全的详细介绍&#xff1a; MAC地址概述 定义&#xff1a;MAC地址&#xff08;Media Access Control Address&#xff09;是网络…

【绿豆蛙的归宿】

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e510; const int M 2e510; int h[N], e[M], ne[M], idx, w[M]; double p[M]; int cnt[N]; double E; int n, m; void add(int a, int b, int c) // 添加一条边a->b {p[idx] 1, w[idx] c, e…

STM32F1+HAL库+FreeTOTS学习14——数值信号量

STM32F1HAL库FreeTOTS学习13——数值信号量 1. 数值信号量2. 相关API函数2.1 创建计数信号量2.2 获取信号量2.3 释放信号量2.4 删除信号量2.5 获取信号量的计数值 3. 操作实验1. 实验内容2. 代码实现&#xff1a;运行结果 上一期我们学习了二值信号量 &#xff0c;这一期学习计…

锅圈食品业绩承压显著:门店减少255家,押注肴肴领鲜打入农贸市场?

《港湾商业观察》廖紫雯 日前&#xff0c;锅圈食品&#xff08;上海&#xff09;股份有限公司&#xff08;以下简称&#xff1a;锅圈&#xff0c;02517.HK&#xff09;发布2024年上半年业绩运营情况。作为“在家吃饭第一股”&#xff0c;锅圈于2023年11月成功登陆港交所&#…

关于BSV区块链覆盖网络的常见问题解答(上篇)

​​发表时间&#xff1a;2024年9月20日 在BSV区块链上的覆盖网络服务为寻求可扩展、安全、高效交易处理解决方案的开发者和企业家开辟了新的视野。 作为开创性的曼达拉升级的一部分&#xff0c;覆盖网络服务提供了一个强大的框架&#xff0c;用于管理特定类型的交易和数据访问…

署名文章 | 对桂花AP2/ERFs的比较转录组分析揭示了OfERF017介导的有机酸代谢途径在花衰老中的作用

发表期刊&#xff1a;Frontiers in plant science 发表日期&#xff1a;2024年9月26日 影响因子&#xff1a;4.1 发表单位&#xff1a;湖北科技学院 研究背景 “玉露沾衣冷&#xff0c;金风拂面凉。桂花香满袖&#xff0c;秋色入诗囊。”桂花&#xff0c;中国十大名花之一…

Linux 网络配置 (深入理解)

前言 前期我比较迷惑Ubuntu 的网络配置。 我接触比较多的 Linux 发行版都是 Ubuntu &#xff0c;我按照网上的一些教程配置网络发现&#xff0c;没有相关网络配置文件夹。然后我发现不是我的问题而是不同版本的配置方式和工具是不一样的。然后有些配置已经弃用了。 常见的网络…

国庆节快乐|中国何以成为中国

华夏之土&#xff0c;广袤无垠&#xff1b;中华之史&#xff0c;源远流长。自古以来&#xff0c;中原大地物华天宝&#xff0c;人杰地灵&#xff0c;遂成一国&#xff0c;是谓中国。然中国之所以为中国&#xff0c;非徒地大物博、历史悠久也&#xff0c;更有其深厚之文化底蕴、…

实例讲解电动汽车冷却系统控制策略及Simulink建模方法

电动汽车的电机、电机控制器、DCDC、OBC在工作时都会大量发热&#xff0c;尤其是电机和电机控制器&#xff0c;功率大发热量大&#xff0c;且温度过高后会影响其正常功能&#xff0c;导致车辆故障无法正常行车&#xff0c;因此电动汽车冷却系统的控制也是一个非常重要的问题。本…

三维可视化技术的应用现状和发展前景

三维可视化技术的应用现状 工程建模 在工程领域&#xff0c;三维可视化技术被广泛应用于建筑设计、城市规划和工业制造等方面。通过三维建模软件&#xff0c;工程师可以创建逼真的模型&#xff0c;进行设计评估、碰撞检测和动态模拟&#xff0c;提高工程项目的效率与质量。 …

【傻呱呱】ESXI挂载USB移动硬盘给黑裙扩容

前期准备 ssh连接工具&#xff08;这里我用finalshell&#xff09; 删除移动硬盘分区&#xff08;此操作会删除硬盘内所有数据&#xff0c;注意备份&#xff01;&#xff01;&#xff01;&#xff09; 将需要挂载的usb移动硬盘连接到电脑上&#xff0c;使用分区工具&#xff…