可以添加一行t吗
我使用lisp通过选择图形上的对象来生成块。然后添加属性和边界框以完成块。现在,我需要向块中添加一条线(通过lisp),该线可以在一端拉伸,在另一端旋转-很像动态块或引线。但是,该线必须是块的一部分。
我的最终用途是通过lisp引用这些块的插入点来测量这些块(大量)之间的距离。不幸的是,插入点并不是我想要的位置。因为我不能在不移动整个块的情况下移动插入点,所以我希望在块上添加一条可拉伸的线,并使用这条线末端的坐标作为测量点。
这可以通过lisp实现吗?有人能告诉我要调查什么吗?感谢所有帮助。
下面是我用来制作块和添加属性的代码的一部分:
(setq Blk (vlax-invoke
(vla-get-Blocks *doc)
'Add
(list pt1x pt1y 0.) ; insertion point
"*U" ; block name))
(vlax-invoke
blk
'AddAttribute
thgt2
acAttributeModePreset
"box_type"
(list ( + (car Ma ) (/ thgt2 2)); x-axis ;(list (/ (+ (car Mi) (car Ma)) 2.)
(- (cadr Ma) thgt2 0.015); y-axis
0.)
"box_type"
box_type ; tag value
)
也许李的Lisp程序可能会有所帮助。
http://www.lee-mac.com/changeblockinsertion.html
它将使您能够在不移动块的情况下重新定义块插入点。
李非常慷慨地在他的优秀网站上提供了许多构思良好的口吃,
它们很值得一看。
谢谢李! 我查看了李的changeblockinsertion-lisp。它工作得很好,但不适合我的情况。在我的例子中,我将插入点移到块外,因此需要添加这条线。changeblockinsertion。lsp移动插入点,但我需要使其在图形上可见。
希望收到其他建议。 http://www.cadtutor.net/forum/showthread.php?62218-如何用Lisp创建动态块
这是决赛吗?
页:
[1]