CAD二次开发(10)-单行文字的添加+图形修改
1. 单行文字的添加
第一步: 首先在CAD中新增中文样式
输入ST命令:

第二步:代码开发
/// <summary>/// 添加文本信息/// </summary>[CommandMethod("AddText")]public void AddText(){var doc = Application.DocumentManager.MdiActiveDocument;var docDatabase = doc.Database;using (var trans = docDatabase.TransactionManager.StartTransaction()){//打开块表TextStyleTable textStyleTable = (TextStyleTable)trans.GetObject(docDatabase.TextStyleTableId, OpenMode.ForRead);var objectId = textStyleTable["chinese"];DBText text = new DBText{TextString = "wuk测试添加单行文本",//文本坐标Position = new Point3d(500,500,0),Height = 500,//宽度因子WidthFactor = 0.8,TextStyleId = objectId};docDatabase.AddEnityToModelSpace(text);trans.Commit();}}
效果如下:

2. 修改和克隆图形
/// <summary>/// 添加文本信息/// </summary>[CommandMethod("EditEntity")]public void EditEntity(){var doc = Application.DocumentManager.MdiActiveDocument;var docDatabase = doc.Database;var selectEntity = Selected.selectEntities()[0];if (selectEntity is Circle){using (var trans = docDatabase.TransactionManager.StartTransaction()){//修改对象Circle circle = (Circle)selectEntity.ObjectId.GetObject(OpenMode.ForWrite);circle.Radius = 600;circle.Color = Color.FromRgb(255, 0, 0);trans.Commit();} }// 克隆对象,原对象不变if (selectEntity is Circle myCircle){var circle = myCircle.Clone() as Circle;if (circle != null){circle.Radius = 500;circle.Color = Color.FromRgb(255, 0, 0);//修改坐标circle.Center = new Point3d(100, 100, 100);docDatabase.AddEnityToModelSpace(circle);}}}
图示结果:

3. 图形形变
/// <summary>/// 图形形变/// </summary>[CommandMethod("EditEntityTest")]public void EditEntityTest(){var doc = Application.DocumentManager.MdiActiveDocument;var docDatabase = doc.Database;var selectEntity = Selected.selectEntities()[0];using (var trans = docDatabase.TransactionManager.StartTransaction()){//修改对象Entity entity = (Entity)selectEntity.ObjectId.GetObject(OpenMode.ForWrite);Matrix3d matrix3d;//平移// matrix3d = Matrix3d.Displacement(new Vector3d(200,200,0));// entity.TransformBy(matrix3d);// //旋转 参数1:旋转角度 2:旋转轴心(负则反方向顺时针) 3:旋转中心// matrix3d = Matrix3d.Rotation(Math.PI/6,Vector3d.ZAxis,Point3d.Origin);// //缩放 参数1:缩放比例 2:缩放中心// matrix3d = Matrix3d.Scaling(2,new Point3d(50,50,0));// 镜像 两种方式matrix3d = Matrix3d.Mirroring(new Plane(Point3d.Origin,new Point3d(0,1,0),new Point3d(0,0,1)));matrix3d = Matrix3d.Mirroring(new Line3d(Point3d.Origin, new Point3d(0, 1, 0)));entity.TransformBy(matrix3d);trans.Commit();} }
旋转

4. 块参照
/// <summary>/// 图形形变/// </summary>[CommandMethod("EditEntityTest1")]public void EditEntityTest1(){var doc = Application.DocumentManager.MdiActiveDocument;var docDatabase = doc.Database;var block = Selected.selectEntities()[0];if (block is BlockReference blockReference){using (var trans = docDatabase.TransactionManager.StartTransaction()){// String name = blockReference.BlockName;// var ro = blockReference.Rotation;// var factors = blockReference.ScaleFactors;// var position = blockReference.Position;//修改块参照数据BlockReference blockR = (BlockReference)block.ObjectId.GetObject(OpenMode.ForWrite);blockR.Rotation = Math.PI / 6;blockR.ScaleFactors = new Scale3d(2, 2, 2);trans.Commit();} }}
相关文章:
CAD二次开发(10)-单行文字的添加+图形修改
1. 单行文字的添加 第一步: 首先在CAD中新增中文样式 输入ST命令: 第二步:代码开发 /// <summary>/// 添加文本信息/// </summary>[CommandMethod("AddText")]public void AddText(){var doc Application.DocumentM…...
【SpringBoot集成Spring Security】
一、前言 Spring Security 和 Apache Shiro 都是安全框架,为Java应用程序提供身份认证和授权。 二者区别 Spring Security:重量级安全框架Apache Shiro:轻量级安全框架 关于shiro的权限认证与授权可参考小编的另外一篇文章 : …...
docker部署dm数据库
官方文档参考 官网地址:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html 下载镜像地址 docker部署 1、加载镜像 docker load -i dm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar使用docker images,查看镜像和镜像标签…...
Shell中执行.sh文件的常见方式
在Shell中执行.sh文件有几种常见的方式,具体取决于你希望如何执行这个脚本文件。以下是一些常用的方法: 直接运行: ./script.sh 这是最简单的方式。在当前Shell会话中执行脚本文件。 使用bash命令执行: bash script.sh 明确使用b…...
超分辨率重建——2022冠军RLFN网络推理测试(详细图文教程)
💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《暗光增强》 &a…...
国际荐酒师香港协会受邀参加2024年美国独立日庆祝活动
国际荐酒师(香港)协会受邀参加2024年美国独立日庆祝活动促进世界酒中国菜的全球化发展 2024年6月18日,国际荐酒师(香港)协会大中华区驻广州办事处荣幸地接受了美国驻广州总领事馆 Nicholas Burns大使和Lisa Heller总领…...
(微服务实战)聚合支付系统商户线上聚合收银台接口设计
1 概述 聚合支付收款分为线上和线下业务场景,本文中的商户收银台接口设计主要是指线上业务场景,线下业务场景聚合收款方式后续会进行单独设计和分析。 主流的线上支付渠道有微信支付,支付宝支付,云闪付。这三种支付渠道都有各自…...
【漏洞复现】CRMEB开源电商系统 /api/products SQL注入漏洞(CVE-2024-36837)
0x01 产品简介 CRMEB开源电商系统是一款由西安众邦网络科技有限公司打造的全栈式电商解决方案,旨在为开发者和商家提供高性能、智能化的电商平台服务。该系统集成了CRM(客户关系管理)、ERP(企业资源规划)和EB(电子商务)的功能,通过深度结合这些功能&…...
摄像头图像矫正的表格生成方法
1.设置单元格高宽 点击表格左上角 的 小三角 列宽: HOME -> Rows and Columns -> Column Width 5 CM 行高: HOME -> Rows and Columns -> Row Height 5 CM 2.设置 条件格式 HOME -> Conditional Formatting-> Manager Rules 点击 左上方 New Rule…...
【Arc gis】Arc gis出现ERROR 999999问题的解决办法
地址:ArcGIS中ERROR 999999报错Configuration RasterCommander ImageServer can not be started解决_投影栅格失败error999999-CSDN博客...
优化 Flutter 应用开发:探索 ViewModel 的威力
介绍 1.1 什么是 ViewModel? ViewModel,顾名思义,就是视图的模型。在 Flutter 中,ViewModel 是一种用于管理视图状态和业务逻辑的重要概念。它承载了应用程序的核心功能,像是一个精心设计的控制中心,负责…...
Android开发系列(四)Jetpack Compose之Button
在Jetpack Compose中,Button是一个常用的用户界面组件,用于执行某些操作或触发某些事件。Button控件是可触摸的,并且通常会显示一个文本或图标来表示其功能。 要在Jetpack Compose中创建一个Button,可以使用Button()函数…...
Java17 --- RabbitMQ之插件使用
目录 一、Federation插件 1.1、运行两个rabbitmq实例 1.2、启用插件 1.3、在下游端点添加上游端点 1.4、创建策略 1.6、测试 二、联邦队列 2.1、创建策略 2.2、创建交换机与队列 2.2.1、创建52000的队列与交换机 2.2.2、创建62000的队列 三、Shovel 3.1、启…...
6.18总结
省赛排位赛2: 省赛排名赛2 - Virtual Judge 思路: 设两个方程直接解出来就行 代码: #include<bits/stdc.h> using namespace std; int n, m; int main() {int n, m;int ans1, ans2;cin >> n >> m;ans1 n - (-3 sqr…...
【ARM Cache 及 MMU 系列文章 1.4 -- 如何判断 L3 Cache 是否实现?】
请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Cluster Configuration Register代码实现什么是Single-Threaded Core?什么是PE(Processor Execution units)?Single-Threaded Core与PE的关系对比多线程(Multithreading)Cluster…...
打印mybatis的sql日志
1、application.xml: logging.level.com.xxx.xxx.daodebug2、log4j2.xml: <Logger name"com.xxx.xxx.dao" level"debug" additivity"true" />...
QT day4(对话框 事件机制)
1:思维导图 2: #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);ui->setupUi(this);//去除头部this->setWindowFlag(Qt::Frameles…...
序列化与反序列化漏洞实例
实验环境: 本次的序列化与反序列化漏洞为2021年强网杯上的一道比赛题目,我使用phpstudy集成环境将其测试环境搭建在了本地,如下。涉及的几个页面php为: index.php function.php myclass.php index.php : <?php // inde…...
6、while循环 - 习题解析
目录 解析部分:分支练习1244. 请问一个正整数能够整除几次2问题描述解题思路代码实现代码解析 1062. 求落地次数问题描述解题思路代码实现代码解析 1254. 求车速问题描述解题思路代码实现代码解析 1261. 韩信点兵问题描述解题思路代码实现代码解析 解析部分…...
ReentrantLock可重入锁
可重⼊锁,这个锁可以被线程多次重复进⼊进⾏获取操作。 ReentantLock继承接⼝Lock并实现了接⼝中定义的⽅法,除了能完成synchronized所能完成的所有⼯作 外,还提供了诸如可响应中断锁、可轮询锁请求、定时锁等避免多线程死锁的⽅法。 在并发量…...
FPGA异构计算与模块化SoM:赋能边缘智能与工业应用实战
1. 项目概述:一次行业深度交流的契机最近,我作为Enclustra团队的一员,有幸受邀参加了今年的嵌入式计算大会。这不仅仅是一次简单的行业聚会,更是一个观察技术风向、碰撞思想火花、探寻合作机会的绝佳窗口。对于所有深耕于嵌入式系…...
深度架构解析:深圳地铁大数据客流分析系统的技术演进与架构哲学
深度架构解析:深圳地铁大数据客流分析系统的技术演进与架构哲学 【免费下载链接】SZT-bigdata 深圳地铁大数据客流分析系统🚇🚄🌟 项目地址: https://gitcode.com/gh_mirrors/sz/SZT-bigdata 在智慧城市建设的浪潮中&#…...
如何用FigmaCN免费解锁全中文Figma界面:设计师必备的终极解决方案
如何用FigmaCN免费解锁全中文Figma界面:设计师必备的终极解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而困扰吗?想要专注于创意…...
终极指南:如何用UniversalSplitScreen在一台电脑上玩多人游戏
终极指南:如何用UniversalSplitScreen在一台电脑上玩多人游戏 【免费下载链接】UniversalSplitScreen Split screen multiplayer for any game with multiple keyboards, mice and controllers. 项目地址: https://gitcode.com/gh_mirrors/un/UniversalSplitScree…...
告别3389端口暴露:零信任防火墙重塑RDP安全访问新范式
1. 传统RDP安全方案的致命短板 每次看到服务器日志里那些密密麻麻的暴力破解尝试记录,我的后颈都会发凉。作为从业十年的运维老兵,我见过太多因为3389端口暴露引发的安全事故。有个客户的数据库服务器,明明设置了16位复杂密码,还是…...
科技中介机构如何提升服务能力与客户转化率?
观点作者:科易网-国家科技成果转化(厦门)示范基地 一、现状概述:科技成果转化中的“最后一公里”困境 近年来,我国科技创新投入持续增长,技术产出规模不断扩大。然而,科技成果从实验室走向市场、…...
音频处理中的头部空间标准化:原理、工具与工程实践
1. 项目概述:一个为音频处理而生的“头部空间”工具如果你经常处理音频,尤其是人声干音,那你一定对“头部空间”这个概念不陌生。简单来说,它指的是人声录音中,人声峰值电平与数字满刻度(0 dBFS)…...
如何智能批量添加EXIF水印:摄影师的自动化参数标注解决方案
如何智能批量添加EXIF水印:摄影师的自动化参数标注解决方案 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具,后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils 摄影爱好者和专业摄影师都面…...
UWB定位标签天线怎么选?PATCH、PIFA、DIPOLE三种方案全对比(含NXP/Qorvo模组适配建议)
UWB定位标签天线选型指南:PATCH、PIFA、DIPOLE三大方案深度解析与工程决策 在物联网定位技术领域,超宽带(UWB)凭借其厘米级精度和强抗干扰能力,已成为工业定位、智能仓储和医疗设备追踪的核心解决方案。而天线作为UWB系统的"感官器官&qu…...
东南亚1.5亿数字钱包用户如何覆盖?Antom收单解决方案拆解
在东南亚,很多用户第一次完成线上付款可能不是通过信用卡,而是通过自己熟悉的本地电子钱包。从印尼的GoPay、DANA,到菲律宾的GCash,再到泰国的TrueMoney、马来西亚的Touch ‘n Go,电子钱包已经深度融入当地人的日常消费…...
