AUTOLISP问题

我在CAD里建了块,并包含属性。现在我想修改某个块的属性的文字大小:
(COMMAND "ATTEDIT" "" "" "" "" (SSGET "X") "H" 6)
往往在选择属性时 (SSGET "X")无法选出att. 请问高手应该怎么选出某个特定的att??

一楼的大侠,你推荐的方法我试过,不对BLOCK内的ATT起作用,只对把ATT从BLOCK中炸开才有效。

第1个回答  2010-12-22
(SSGET "X") 那里换成 (ssget "x" (list (cons 0 "ATTDEF")))就可以过滤出所有的att。
(SSGET "X") 是所有的实体。所以会选中不是att的东西。
(ssget "x" (list (cons 0 "ATTDEF")))还可以再加条件。比如(ssget "x" (list (cons 0 "ATTDEF") (cons 8 "abc")))就是把abc层的att都选出来。自己根据需要扩展吧。本回答被提问者和网友采纳
第2个回答  2010-12-25
autolisp 是用于autocad 自定义开发的一种程序语言.通过autolisp编程,可以节省工程师很多时间. 相关连接 科技 编程 计算机......

买这本书不错:
CAD2000下AutoLISP编程及应用

为了解决AutoCAD在建筑设计制图中无法绘制修改复杂的图形或要用较复杂的操作才能完成某些制图绘制的问题,运用AutoCAD2000内部嵌套的AutoLISP语言进行编程.开发出方便实用的制图程序.文中以批量线加宽和批量调整角度等程序为例,介绍了其设计思路和操作方法.设计人员在设计制图中达到快捷、高效、标准.AutoCAD的二次开发使CAD自身制图功能更加完善,绘画修改操作更加灵活方便.

或者是一起更新的版本,去书店找找
相似回答