找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 586|回复: 4

[分享] C# 给天正连续标注添加点

[复制链接]

已领礼包: 57个

财富等级: 招财进宝

发表于 2021-2-26 10:36:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
C#调用未封装的C++的方法

[DllImport("tch_kernal.arx", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl,
            EntryPoint = "?AddSegment@TDbDimension@@QEAAHVTADSGePoint3d@@@Z")]
        private static extern void TchDimAddSegment(IntPtr tchDim, Point3d pt);

Database db = HostApplicationServices.WorkingDatabase;
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;

PromptEntityResult entRes = ed.GetEntity("选择连续标注:\n");
if (entRes .Status != PromptStatus.OK) return;

PromptPointResult ptRes = ed.GetPoint("选择点:\n");
if (ptRes.Status != PromptStatus.OK) return;

using (Transaction trans = db.TransactionManager.StartTransaction())
{
       Entity tchDim = entRes.ObjectId.GetObject(OpenMode.ForWrite) as Entity;
       TchDimAddSegment(tchDim.UnmanagedObject, ptRes.Value));
       tchDim.DowngradeOpen();
       trans.Commit();
}


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2021-3-3 10:06:15 | 显示全部楼层
楼主有没有尝试过修改天正文字的内容呢?tch_kernal.arx里面有没有相应的方法?怎么调用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 57个

财富等级: 招财进宝

 楼主| 发表于 2021-3-3 15:35:10 | 显示全部楼层
应该有对应的方法,不过我修改天正文字一般直接用下面的方式修改。
同事写的一个lsp可以查看天正对象的这类属性,我不太懂lsp只会用。

  1. Entity entTchTxt = id.GetObject(OpenMode.ForWrite) as Entity;
  2.                         if(entTchTxt.GetRXClass().DxfName == "TCH_TEXT")
  3.                         {
  4.                             dynamic dyc = entTchTxt.AcadObject;
  5.                             dyc.Text = "123";
  6.                         }
  7.                         entTchTxt.DowngradeOpen();
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

发表于 2021-3-11 19:03:16 | 显示全部楼层
开启了天正对象信息调用之门,以前我都是用lisp 调用,最近也在学. net
我dumpbin 了调整的文件 看不懂,问一下一个@两个@还有页面都是啥意思
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 57个

财富等级: 招财进宝

 楼主| 发表于 2021-3-12 10:10:45 | 显示全部楼层
brainstorm 发表于 2021-3-11 19:03
开启了天正对象信息调用之门,以前我都是用lisp 调用,最近也在学. net
我dumpbin 了调整的文件 看不懂, ...

@应该就是一种分隔符的作用吧,没深入研究过,都是直接复制的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-25 00:53 , Processed in 0.350534 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表