明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8310|回复: 11

[提问] 如何定义带有自定义属性的多段线

[复制链接]
发表于 2014-3-18 14:00:33 | 显示全部楼层 |阅读模式
本帖最后由 Gu_xl 于 2014-8-7 18:46 编辑

      最近开始使用鸿业市政管线软件进行设计,发现一个比较强大的功能,鸿业定义的管线具有管径和标高属性,而且将管线复制到其他图纸里,使用鸿业打开,可以识别该管线属性。
     对于这个问题感觉比较奇怪,在复制管线的时候并没有其他配置文件,为何复制到其他图纸里可以显示出该管线管径和标高等属性,难道该管线多段线带有自定义属性,百思不得其解啊,请高手帮忙解答啊。
     另外,可以自己实现带有属性的多段线吗?

感谢"h008 "提醒使用字典给多段线添加属性,查了一下资料,写了一个给多段线添加并获取属性的函数,比较简单,大家不要吐槽啊。看看还有没有什么其他更好的方法来实现。
代码如下:
  1. ;;;设置管线属性
  2. (defun c:setAttr ()
  3.   (princ "\n >>>拾取曲线: ")
  4.   (setq  ent (ssget '((0 . "*LINE,ARC,ELLIPSE"))) )  ;选择集
  5.   (setq i 0)
  6.   (repeat (sslength ent)
  7.         (setq gxPipe(ssname ent i))
  8.         (VLAX-LData-Put gxPipe "gc" "PVC")  ;gc:管材
  9.         (VLAX-LData-Put gxPipe "gj" "110")  ;gj:管径
  10.         (setq i (1+ i))
  11.   )
  12.   (princ)
  13. )

  14. ;;;获得管线属性
  15. (defun c:getAttr ()
  16.     (setq gxPipe (Car (EntSel "\n请选择检看属性线: ")))
  17.     (setq  gxPipe (VLAX-Ename->VLA-Object gxPipe)
  18.              attr1  (VLAX-LData-Get gxPipe "gc")
  19.              attr2  (VLAX-LData-Get gxPipe "gj")
  20.     )
  21.    (princ (strcat "\n管材:" attr1 "\t管径:" attr2))
  22.    (princ)
  23. )
  24. (princ)
  25. (princ "\n添加属性:setAttr\t获得属性:getAttr\n")
鸿业定义的管线属性如下:
  

本帖子中包含更多资源

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

x
发表于 2014-3-18 14:11:21 | 显示全部楼层
应该是用字典实现的吧
发表于 2014-3-18 14:17:49 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2014-3-18 14:21 编辑

我也想知道,提供一张测试图,是不是这样的呢?

本帖子中包含更多资源

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

x
 楼主| 发表于 2014-3-18 14:31:59 | 显示全部楼层
好像天正电气也有类似功能的,不知道怎么实现的。我试了一下用entget获得多段线图元信息,没发现什么特别的地方。
 楼主| 发表于 2014-3-18 14:35:08 | 显示全部楼层
h008 发表于 2014-3-18 14:11
应该是用字典实现的吧

字典?可以说具体点吗?用字典也需要其他电脑鸿业要定义同样类型管材的吧,拷贝的管线本身应该带有某些属性的。
发表于 2014-3-19 11:32:33 | 显示全部楼层
本帖最后由 h008 于 2014-3-19 11:38 编辑

使用图元字典就数据就附在图元上了

刚刚试了下,应该就是图元字典了。把图元拷贝到别的文件一样会把字典带着
 楼主| 发表于 2014-3-19 13:46:38 | 显示全部楼层
h008 发表于 2014-3-19 11:32
使用图元字典就数据就附在图元上了

刚刚试了下,应该就是图元字典了。把图元拷贝到别的文件一样会把字典 ...

嗯,我也试了下可以的。谢谢提醒啊。
vlax-ldata-put()给指定图元添加字典内容,
vlax-ldata-get()获得图元字典内容。用这两个函数可以实现自定义属性的多线段。
发表于 2014-3-20 08:35:44 | 显示全部楼层
确定不是扩展数据?
发表于 2014-3-20 09:04:08 | 显示全部楼层
这种发帖方式真恶劣。
 楼主| 发表于 2014-3-20 09:37:37 | 显示全部楼层
vectra 发表于 2014-3-20 08:35
确定不是扩展数据?

扩展数据应该也可以实现的吧,我还没试过。有空试试看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-25 05:48 , Processed in 0.207083 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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