c#cad 创建-正方形(四)

运行环境 vs2022 c# cad2016  调试成功

一、程序说明

创建一个正方形,并将其添加到当前活动文档的模型空间中。

程序首先获取当前活动文档和数据库,并创建一个编辑器对象。

然后,使用事务开始创建正方形的操作。获取模型空间的块表记录,并将其转换为可写模式。

接下来,定义正方形的边长为5,并定义左下角点为坐标原点。

然后,创建一个空的Polyline实体,用于存储正方形的边界点。

通过循环添加四个顶点,并连接它们以形成正方形。每次循环都会计算下一个顶点的坐标,并将新的顶点添加到Polyline实体中。

完成循环之后,将Polyline实体添加到块表记录中,并使用AddNewlyCreatedDBObject方法将其标记为新创建的对象。

最后,提交事务以保存正方形的更改。

二、完整代码
[CommandMethod("CreateSquare")]public void CreateSquare(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;Editor ed = doc.Editor;using (Transaction tr = db.TransactionManager.StartTransaction()){BlockTableRecord btr = (BlockTableRecord)tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(db), OpenMode.ForWrite);// 定义正方形的边长为5double sideLength = 5;Point3d cornerPoint = new Point3d(0, 0, 0); // 正方形的左下角点Polyline square = new Polyline(); // 创建空的Polyline实体// 添加四个顶点并连接成正方形for (int i = 0; i < 4; i++){Point3d nextCornerPoint = new Point3d(cornerPoint.X + sideLength, cornerPoint.Y, cornerPoint.Z);square.AddVertexAt(i, new Vertex3d(cornerPoint), true); // 添加顶点并连接到前一个顶点cornerPoint = nextCornerPoint; // 更新下一个顶点的位置}// 将正方形添加到块表中并提交事务btr.AppendEntity(square);tr.AddNewlyCreatedDBObject(square, true);tr.Commit();}}

//感谢大家的点赞,收藏,转发,关注   

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

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

相关文章

Vue3大事件项目(ing)

文章目录 核心内容1.大事件项目介绍2.大事件项目创建3.Eslint配置代码风格4.配置代码检查工作流问题: pnpm lint是全量检查,耗时问题,历史问题 5.目录调整6.vue-router4 路由代码解析7.引入 Element Plus 组件库8.Pinia 构建仓库 和 持久化9.Pinia 仓库统一管理 核心内容 Vue3…

C# 夺冠,微软.NET前途光明!

本文以C# 摘得 “2023 年度编程语言“称号为背景&#xff0c;介绍.NET的历史、生态及发展势头&#xff0c;该文章是本人C#专栏的第一篇文章。 这里写目录标题 1.C#摘得"2023年度编程语言"奖项2.什么是.NET&#xff1f;2.1.NET简史2.2.NET是用于应用程序开发的生态系…

蓝桥杯(Web大学组)2022国赛真题:新鲜的蔬菜

主要是对flex的运用 使用 display: flex; justify-content: space-between; 以及对其中单个子元素进行操作&#xff1a;align-self: center; align-self: end; .container {display: flex;justify-content: center;flex-wrap: wrap;width: 960px;margin: 0 auto; }.ite…

YY调音台:音频后期处理

我从事影视后期处理的工作&#xff0c;主要负责音频、音效合成这块工作内容。在影视作品中&#xff0c;声音不仅仅是背景元素&#xff0c;它在叙事和创造情感氛围上发挥着至关重要的作用。我们的工作不仅要让听众听到声音&#xff0c;更要让他们通过声音感受到情感的波动和故事…

2024:AI 大冒险

2024&#xff1a;AI 大冒险 2023 年就像一场疯狂的过山车&#xff0c;现在让我们一起系好安全带&#xff0c;来预测一下 2024 年的五大惊心动魄事件吧&#xff01; 一、AI 惹祸升级 嘿&#xff0c;2024 年可要小心了&#xff01;AI 这家伙可能会变得更调皮捣蛋。人们可能会用…

Ubuntu下anaconda的常用操作

Ubuntu下anaconda的安装及常用操作 安装Anaconda 下载Anaconda&#xff1a;在Anaconda官网下载适合你系统的Anaconda安装包&#xff08;通常是64位的Linux版本&#xff09;。 安装Anaconda 在终端中导航到你下载Anaconda安装包的目录&#xff0c;然后运行以下命令安装Anacon…

【go】结构体切片去重

场景 自定义结构体切片&#xff0c;去除切片中的重复元素&#xff08;所有值完全相同&#xff09; 代码 // 自定义struct去重 type AssetAppIntranets struct {ID string json:"id,omitempty"AppID string json:"app_id,omitempty"IP …

git 使用 (备查)

git忽略清单 添加忽略清单 SSH免登录 ssh协议可以实现免登录操作&#xff0c;身份验证通过密钥实现。 跨团队写作 解决冲突 拉取 克隆 拉取最新版本 推送 远程仓库别名 直接使用git push推送 多人协作开发 分支命令 合并分支命令在主分支使用&#xff0c;将develop分支合并到…

MIT-Missing Semester_Topic 6:Version Control (Git) 练习题

文章目录 练习一练习二练习三练习四练习五练习六练习七 本 Topic 的 MIT 讲解网页&#xff08;练习题未给解答&#xff09; 练习一 若还没有 Git 的相关经验&#xff0c;阅读 Pro Git 的前几章或诸如 Learn Git Branching 的相关教程&#xff0c;并在学习的同时从 Git 的数据模…

大型装备制造企业案例分享——通过CRM系统管理全球业务

本期&#xff0c;小Z为大家带来的CRM管理系统客户案例是某大型装备制造企业运用Zoho CRM管理全球业务的过程分享。该企业是创业板上市公司&#xff0c;业务遍及100多个国家和地区&#xff0c;合作伙伴超百位&#xff0c;拥有覆盖全球的销售和服务网络。截止目前&#xff0c;相继…

7.electron之渲染线程发送事件,主进程监听事件

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中&#xff0c;因此它允许你仅需一个代码仓库&#xff0c;就可以撰写支持 Windows、…

【漏洞复现】电信网关配置管理系统SQL注入漏洞

Nx01 产品简介 电信网关配置管理系统是一个用于管理和配置电信网络中网关设备的软件系统。它可以帮助网络管理员实现对网关设备的远程监控、配置、升级和故障排除等功能&#xff0c;从而确保网络的正常运行和高效性能。 Nx02 漏洞描述 电信网关配置管理系统存在SQL注入漏洞,攻…

jmeter二次开发函数-生成身份证号

代码参考这个 java 随机生成身份证代码 Java的身份证号码工具类 pom文件添加 <dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_core</artifactId><version>5.4.1</version></dependency><d…

annaconda如何切换当前python环境

annaconda默认的python环境是base&#xff1a; 把各种项目的依赖都安装到base环境中不是一个好的习惯&#xff0c;比如说我们做爬虫项目和做自动化测试项目等所需要的依赖是不一样的&#xff0c;我们可以将为每个项目创建自己的环境&#xff0c;在各自的环境中安装自己的依赖&…

Android 11 访问 Android/data/或者getExternalCacheDir() 非root方式

前言&#xff1a; 需求要求安装三方应用ExternalCacheDir()下载下来的apk文件。 getExternalCacheDir() : /storage/emulated/0/Android/data/com../cache/ 获取访问权限 如果手机安卓版本为Android10的时候,可以在AndroidManifest.xml中添加下列代码 android:requestLegacyExt…

Leetcode 30天高效刷数据结构和算法 Day1 两数之和 —— 无序数组

两数之和 —— 无序数组 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现…

JAVA原型模式详解

原型模式 1 原型模式介绍 定义: 原型模式(Prototype Design Pattern)用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象相同的新对象。 西游记中的孙悟空 拔毛变小猴,孙悟空这种根据自己的形状复制出多个身外化身的技巧,在面向对象软件设计领…

【Transformer-Hugging Face 06/10】 数据预处理实例

目录 一、说明二、自然语言处理2.1 Pad2.2 截断2.3 构建张量 三、TensorFlow四、处理语音五、计算机视觉六、填充七、Multimodal 一、说明 在数据集上训练模型之前&#xff0c;需要将其预处理为预期的模型输入格式。无论您的数据是文本、图像还是音频&#xff0c;都需要将它们…

Leetcode第383场周赛

Leetcode第383场周赛 本人水平有限&#xff0c;只做前3道。 一、边界上的蚂蚁 边界上有一只蚂蚁&#xff0c;它有时向 左 走&#xff0c;有时向 右 走。 给你一个 非零 整数数组 nums 。蚂蚁会按顺序读取 nums 中的元素&#xff0c;从第一个元素开始直到结束。每一步&#…

C#中实现串口通讯(使用SerialPort类)

仅作自己学习使用 1 准备部份 需要两个调试软件commix和Virtual Serial Port Driver&#xff0c;分别用于监视串口和创造虚拟串口。 第一个软件是这样的&#xff1a; 资源在这里&#xff1a;免费下载&#xff1a;Commix 也可以前往官网下载&#xff1a;Bwsensing— Attitude…