我使用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
- )
|