ksperopoulos 发表于 2022-7-5 18:07:57

层描述DXF代码?

是否没有图层描述dxf代码?我在文档中找不到任何东西。看起来创建层描述的唯一方法是通过“vla put description”。我说得对吗?

BlackBox 发表于 2022-7-5 18:12:58

使用Visual LISP开发和维护(更不用说人类可读性)要简单得多,但为了回答DXF代码的问题,层表记录的描述存储在扩展实体数据中(组码1000):
 

(defun _GetLayerDescription (layname)
(cdr (last (cadr (assoc -3
                         (entget (tblobjname "layer" layname)
                                 '("AcAecLayerStandard")
                         )
                  )
            )
      )
)
)

ksperopoulos 发表于 2022-7-5 18:17:17

谢谢你的回复。我很好奇你怎么用“last”。您是否遇到过列表中最后1000个组码不是层描述的情况?如果描述每次都在同一个地方,我会觉得用这种方式很舒服,但如果它有机会移动,那么我可能需要找到另一种方法。如果visual lisp是一个更稳定的解决方案,也许是时候我开始更多地理解它了。

Lee Mac 发表于 2022-7-5 18:18:17

 
有关如何使用Vanilla AutoLISP设置层描述的现有示例,请参阅我的层控制器程序的第324-336行。

BlackBox 发表于 2022-7-5 18:21:27

 
它是扩展的实体数据,我应该认为它有可能每次都不在同一个地方——这段代码只是一个快速的示例来演示“where”。
 
 
 
正如我在之前的帖子中提到的;我绝对建议您使用ActiveX属性来代替DXF,因为您可以同时处理活动文档、文档集合中打开的其他文档,以及通过ObjectDBX(不在文档集合中的批处理图形,可供写入)进行处理。
 
ActiveX更易于阅读,代码更短,功能更强;没有看到任何负面影响。
 
 
干杯

ksperopoulos 发表于 2022-7-5 18:24:34

 
李-即使有你的代码,似乎仍然没有什么可以阻止在包含层描述的代码之前或之后插入另一个1000组代码。。。。。有?
 
 
黑匣子-听起来可能是时候做出改变了!

Lee Mac 发表于 2022-7-5 18:29:12

 
当然不是-您也可以在任何实体的DXF数据中插入其他无效的DXF组,但您会发现修改不成功,除非数据为预期格式。

broncos15 发表于 2022-7-5 18:32:35

李,我知道这与你的帖子无关,但我只需要在这个反应堆上补充你,太棒了!

Lee Mac 发表于 2022-7-5 18:33:33

 
非常感谢。

broncos15 发表于 2022-7-5 18:38:27

不用了,谢谢你,你的LISP程序帮我节省了很多时间。我只是好奇,我知道答案可能是否定的,但有没有一种简单的方法可以将LISP例程添加到调用reactor的命令调用中?我很好奇,因为我的办公室有一些用于多重引线、尺寸等的LISP例程,我们在图形扭曲(即angbase和snapang设置为另一个值)或不在世界坐标时使用这些例程,如果能将它们与正常的多行文字和尺寸命令一起添加,那将很好。
页: [1] 2
查看完整版本: 层描述DXF代码?