找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3126|回复: 4

[求助] 用c#做CAD二次开发,想获得list命令后的结果数据,请问大神们,该如何获取?

[复制链接]
发表于 2018-9-7 09:26:10 | 显示全部楼层 |阅读模式

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

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

×
如图所示,对一个圆形,使用list命令,就可以获得该圆形的周长、面积等信息,请问,如何在c#程序里获取到这些信息?

之所以需要读取这些信息,是因为,经常要用到各种不规则的曲线图形,且必须要知道这些图形的周长/长度,而对每种图形都一一去计算长度很不方便,有的图形我目前不晓得怎么计算长度(如样条曲线),所以,很想在程序里自动获得list命令后获得的信息。

请知晓的大神指点,多谢多谢!
TIM图片20180823154146.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-9-7 12:59:08 | 显示全部楼层
本帖最后由 newer 于 2018-9-7 13:01 编辑

XDRX API 的 xdrx_entity_list 函数实现了命令LIST,可以两种结果,
1、是屏幕显示转成字符串
2、是和LIST命令一样,屏幕列表实体信息


命令: (xdrx_entity_list (entlast))



"                  LWPOLYLINE图层: 0\n                           空间: 模型空间\n      
             句柄 = fe8\n            打开 \n        固定宽度    0.0000\n            面积  
1489.9760\n            长度   110.8045 \n\n          于端点  X=2165.4742  Y=
729.0689  Z=   0.0000\n          于端点  X=2188.4463  Y= 729.0689  Z=   0.0000\n   
       于端点  X=2188.4463  Y= 793.9292  Z=   0.0000\n          于端点  X=2165.4742  
Y= 793.9292  Z=   0.0000\n"

命令: (xdrx_entity_list (entlast) t)
                  LWPOLYLINE图层: 0
                           空间: 模型空间
                    句柄 = fe8
            打开
        固定宽度    0.0000
            面积   1489.9760
            长度   110.8045

          于端点  X=2165.4742  Y= 729.0689  Z=   0.0000
          于端点  X=2188.4463  Y= 729.0689  Z=   0.0000
          于端点  X=2188.4463  Y= 793.9292  Z=   0.0000
          于端点  X=2165.4742  Y= 793.9292  Z=   0.0000

=======================================================================
c++用AcDbHostApplicationServices,不知道C#有没


[code=cpp]
class MyHostAppServices : public AcDbHostApplicationServices
{
public:
        MyHostAppServices();
        virtual ~MyHostAppServices();

        virtual Acad::ErrorStatus findFile(
                ACHAR * pcFullPathOut,
                int   nBufferLength,
                const ACHAR * pcFilename,
                AcDbDatabase * pDb = NULL, // When this search
                // is related to a db
                AcDbHostApplicationServices::FindFileHint hint = kDefault);

        virtual AcadInternalServices* acadInternalServices();
        virtual const ProdIdCode prodcode();

        virtual void displayChar(ACHAR c) const;
        virtual void displayString(const ACHAR* string, int count) const;

        CString getOutput() const;

private:
        AcDbHostApplicationServices *m_pOldHostServices;


};

[/cpp]


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

使用道具 举报

 楼主| 发表于 2018-9-7 13:53:19 | 显示全部楼层
newer 发表于 2018-9-7 12:59
XDRX API 的 xdrx_entity_list 函数实现了命令LIST,可以两种结果,
1、是屏幕显示转成字符串
2、是和LIS ...

学习了,非常非常感谢大神!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-7 13:54:47 | 显示全部楼层
newer 发表于 2018-9-7 12:59
XDRX API 的 xdrx_entity_list 函数实现了命令LIST,可以两种结果,
1、是屏幕显示转成字符串
2、是和LIS ...

非常感谢大神,学习了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-1-25 23:04:48 | 显示全部楼层
newer 发表于 2018-9-7 12:59
XDRX API 的 xdrx_entity_list 函数实现了命令LIST,可以两种结果,
1、是屏幕显示转成字符串
2、是和LIS ...

大佬,C++处理这个问题的过程能否详细点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 21:34 , Processed in 0.274606 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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