c#cad 创建-圆(二)
运行环境 vs2022 c# cad2016 调试成功
一、代码说明
这段代码是一个AutoCAD插件,用于在模型空间中创建一个圆形。
首先,我们需要定义一个命令类CreateCircleCommand,并在命名空间CreateCircleInCad中声明。
在CreateCircleCommand类中,我们使用了CommandMethod特性,将该方法定义为一个命令。命令的名称为"CreateCircle"。
在CreateCircleCommand方法中,我们首先通过Application.DocumentManager.MdiActiveDocument获取当前文档,然后通过doc.Database获取数据库对象,通过doc.Editor获取编辑器对象。
接着,我们通过数据库的事务管理器创建一个事务,并通过事务来打开块表(BlockTable)。然后,通过块表的ModelSpace获取模型空间的块表记录(BlockTableRecord)。
接下来,我们定义了一个Point3d对象作为圆心位置,坐标为(0,0,0),以及一个double类型变量作为圆的半径,半径为5。
接着,我们使用事务来操作模型空间。首先,我们创建了一个Circle对象,并将其添加到模型空间的块表记录中。然后,通过事务的AddNewlyCreatedDBObject方法将该对象从事务中添加到数据库中。
最后,我们使用编辑器对象的WriteMessage方法来输出一条信息,表示圆已被创建。
总体来说,这段代码的作用是在AutoCAD模型空间中创建一个半径为5的圆。
二、完整代码
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;[assembly: CommandClass(typeof(CreateCircleInCad.CreateCircleCommand))]namespace CreateCircleInCad
{public class CreateCircleCommand{[CommandMethod("CreateCircle")]public void CreateCircleCommand(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;Editor ed = doc.Editor;Transaction tr = db.TransactionManager.StartTransaction();BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;Point3d centerPoint = new Point3d(0, 0, 0); // 圆心位置double radius = 5; // 圆的半径using (tr){// 创建圆形对象并添加到模型空间中Circle circle = new Circle(centerPoint, radius);btr.AppendEntity(circle);tr.AddNewlyCreatedDBObject(circle, true);ed.WriteMessage("\n圆已创建!");}}}
}

//感谢大家的点赞,收藏,转发,关注
相关文章:
c#cad 创建-圆(二)
运行环境 vs2022 c# cad2016 调试成功 一、代码说明 这段代码是一个AutoCAD插件,用于在模型空间中创建一个圆形。 首先,我们需要定义一个命令类CreateCircleCommand,并在命名空间CreateCircleInCad中声明。 在CreateCircleCommand类中&a…...
面试高频知识点:2线程 2.1.5如何自定义实现一个线程池
在Java中,线程池是一种用于管理线程的机制,它可以有效地管理多个线程并且可以重复使用它们,从而减少了线程创建和销毁的开销,提高了线程的利用率。本文将介绍如何自定义实现一个简单的线程池,并提供相应的Java代码示例…...
【stm32】hal库学习笔记-ADC模数转换(超详细)
【stm32】hal库学习笔记-ADC模数转换(超详细) 本篇章介绍了ADC实现电压检测的三种方式 ADC原理及选型 ADC将连续的模拟电压信号转换为二进制的数字信号 选型参数 速度(采样频率) 功耗 精度 转换原理 ADC hal库驱动函数 普通…...
蓝桥杯基础知识6 pair
蓝桥杯基础知识6 pair pair 的定义和结构:在C中,pair是一个模板类,用于表示一对值的组合,头文件<utility>。 pair类 的定义: template<class T1, class T2> struct pair{T1 first; // 第一个值T2 seco…...
后端返回给前端的数据格式有哪些?
后端返回的数据格式有很多种,常见的包括JSON、XML、HTML、CSV等。这些格式各有特点,适用于不同的应用场景。 JSON(JavaScript Object Notation):JSON是一种轻量级的数据交换格式,易于阅读和编写,…...
Transformer的PyTorch实现之若干问题探讨(一)
《Transformer的PyTorch实现》这篇博文以一个机器翻译任务非常优雅简介的阐述了Transformer结构。在阅读时存在一些小困惑,此处权当一个记录。 1.自定义数据中enc_input、dec_input及dec_output的区别 博文中给出了两对德语翻译成英语的例子: # S: de…...
系统参数SystemParameters.MinimumHorizontalDragDistance
SystemParameters.MinimumHorizontalDragDistance 是一个系统参数,它表示在拖放操作中鼠标水平移动的最小距离。 当用户按下鼠标左键并开始移动鼠标时,系统会检查鼠标的水平移动距离是否超过了 SystemParameters.MinimumHorizontalDragDistance。只有当…...
平屋顶安装光伏需要注意哪些事项?
我国对于房屋建设的屋顶形式,主要有平屋顶、斜屋顶、曲面屋顶和多波式折板屋顶等。今天来讲讲在平屋顶安装光伏,需要注意的事项。 1.屋顶结构:在安装光伏系统之前,需要对屋顶结构进行评估,确保屋顶能够承受光伏系统的…...
《Git 简易速速上手小册》第7章:处理大型项目(2024 最新版)
文章目录 7.1 Git Large File Storage (LFS)7.1.1 基础知识讲解7.1.2 重点案例:在 Python 项目中使用 Git LFS 管理数据集7.1.3 拓展案例 1:使用 Git LFS 管理大型静态资源7.1.4 拓展案例 2:优化现有项目中的大文件管理 7.2 性能优化技巧7.2.…...
从0开始学Docker ---Docker安装教程
Docker安装教程 本安装教程参考Docker官方文档,地址如下: https://docs.docker.com/engine/install/centos/ 1.卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker-client-latest…...
嵌入式学习之Linux入门篇笔记——15,Linux编写第一个自己的命令
配套视频学习链接:http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p4&share_sourcecopy_web&vd_sourcea0ef2c4953d33a9260910aaea45eaec8 1.什么是命令? 命令就是可执行程序。 比如 ls -a…...
【C语言】SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)
一、SYSCALL_DEFINE3与系统调用 在Linux操作系统中,为了从用户空间跳转到内核空间执行特定的内核级操作,使用了一种机制叫做"系统调用"(System Call)。系统调用是操作系统提供给程序员访问和使用内核功能的接口。例如&…...
C++实现鼠标点击和获取鼠标位置(编译环境visual studio 2022)
1环境说明 2获取鼠标位置的接口 void GetMouseCurPoint() {POINT mypoint;for (int i 0; i < 100; i){GetCursorPos(&mypoint);//获取鼠标当前所在位置printf("% ld, % ld \n", mypoint.x, mypoint.y);Sleep(1000);} } 3操作鼠标左键和右键的接口 void Mo…...
Matplotlib绘制炫酷散点图:从二维到三维,再到散点图矩阵的完整指南与实战【第58篇—python:Matplotlib绘制炫酷散点图】
文章目录 Matplotlib绘制炫酷散点图:二维、三维和散点图矩阵的参数说明与实战引言二维散点图三维散点图散点图矩阵二维散点图进阶:辅助线、注释和子图三维散点图进阶:动画效果和交互性散点图矩阵进阶:调整样式和添加密度图总结与展…...
Docker-Learn(一)使用Dockerfile创建Docker镜像
1.创建并运行容器 编写Dockerfile,文件名字就是为Dockerfile 在自己的工作工作空间当中新建文件,名字为Docerfile vim Dockerfile写入以下内容: # 使用一个基础镜像 FROM ubuntu:latest # 设置工作目录 WORKDIR /app # 复制当前目…...
问题:银行账号建立以后,一般需要维护哪些设置,不包括() #学习方法#经验分享
问题:银行账号建立以后,一般需要维护哪些设置,不包括() A.维护结算科目对照 B.期初余额初始化刷 C.自定义转账定义 D.对账单初始化 参考答案如图所示...
教授LLM思考和行动:ReAct提示词工程
ReAct:论文主页 原文链接:Teaching LLMs to Think and Act: ReAct Prompt Engineering 在人类从事一项需要多个步骤的任务时,而步骤和步骤之间,或者说动作和动作之间,往往会有一个推理过程。让LLM把内心独白说出来&am…...
FPGA_工程_按键控制的基于Rom数码管显示
一 信号 框图: 其中 key_filter seg_595_dynamic均为已有模块,直接例化即可使用,rom_8*256模块,调用rom ip实现。Rom_ctrl模块需要重新编写。 波形图: 二 代码 module key_fliter #(parameter CNT_MAX 24d9_999_99…...
WordPress Plugin HTML5 Video Player SQL注入漏洞复现(CVE-2024-1061)
0x01 产品简介 WordPress和WordPress plugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。WordPress plugin是一个应用插件。 0x02 漏洞概述 WordPress Plugin HTML5 Video Player 插件 get_v…...
【Kotlin】Kotlin基本数据类型
1 变量声明 var a : Int // 声明整数类型变量 var b : Int 1 // 声明整数类型变量, 同时赋初值为1 var c 1 // 声明整数类型变量, 同时赋初值为1 val d 1 // 声明整数类型常量, 值为1(后面不能改变d的值) 变量命名规范如下。 变量名可以由字母、数字、下划线(_…...
DocX安全特性完全指南:文档保护、密码加密和数字签名终极教程
DocX安全特性完全指南:文档保护、密码加密和数字签名终极教程 【免费下载链接】DocX Fast and easy to use .NET library that creates or modifies Microsoft Word files without installing Word. 项目地址: https://gitcode.com/gh_mirrors/doc/DocX DocX…...
ChatGPT开发者实战指南:从API集成到应用部署的完整资源导航
1. 项目概述:一份面向开发者的ChatGPT资源导航 如果你是一名开发者、产品经理,或者任何对AI应用构建感兴趣的技术爱好者,最近几个月肯定被ChatGPT和GPT-3相关的新闻、工具和项目刷屏了。信息爆炸带来的一个直接问题是:好东西太多…...
Axure RP 多版本中文语言包技术解析:从键值对到专业本地化的架构演进
Axure RP 多版本中文语言包技术解析:从键值对到专业本地化的架构演进 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …...
Java 数字校验实战:从工具类到正则,性能与场景的深度抉择
1. 数字校验的常见场景与挑战 在Java开发中,数字校验是个看似简单却暗藏玄机的基础操作。我见过太多项目因为数字校验不严谨导致的数据异常,比如用户输入"12a3"被误认为金额,或者接口接收"-1.2.3"这样的非法浮点数。这些…...
给视觉开发新手的保姆级教程:在Ubuntu上从下载源码到成功运行Demo,搞定OpenCV 3环境搭建
给视觉开发新手的保姆级教程:在Ubuntu上从下载源码到成功运行Demo,搞定OpenCV 3环境搭建 第一次在Ubuntu上搭建OpenCV开发环境,对很多视觉开发新手来说可能是个令人望而生畏的任务。命令行操作、编译工具链、环境配置……这些术语听起来就让人…...
阴阳师自动化脚本:智能托管解放双手的终极指南
阴阳师自动化脚本:智能托管解放双手的终极指南 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 还在为阴阳师中重复繁琐的日常任务而烦恼吗?每天需要花费数…...
Windows上的安卓应用革命:APK安装器终极指南
Windows上的安卓应用革命:APK安装器终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows电脑上直接运行安卓应用,这听起来像是科幻…...
使用Node.js在虚拟机后端服务中集成Taotoken多模型调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Node.js在虚拟机后端服务中集成Taotoken多模型调用 在虚拟机环境中部署Node.js后端服务时,直接对接多个大模型厂商…...
嵌入式开发中的编程规范实践与行业标准解析
1. 编程规范的本质与价值在嵌入式汽车电子领域干了十五年,我见过太多因为代码不规范导致的惨痛教训。有一次,某车企的ECU控制模块在零下30度环境突然死机,排查三周后发现是未初始化的指针在低温环境下产生了非预期行为——这种问题本可以通过…...
虚假信息注入下异构系统弹性纳什均衡【附代码】
✨ 长期致力于博弈论、分布式纳什均衡、虚假信息注入攻击、线性系统、参数不确定、事件触发研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)虚假信息观…...
