马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Lispboy 于 2016-10-17 15:04 编辑
(defun XD::DimLeaderIndex:Make (str height p1 p2 doglen arrow arrowsize / attdef
blk e1 e2 e3 id scl
)
(if (not (setq blk (xdrx_object_get "block" "XD_DIMINDEX")))
(progn
(setq e1 (xdrx_circle_make '(0 0 0) 0.8))
(setq g1 (xdge::constructor e1)
g2 (xdge::constructor "kcompositecrv3d" g1)
)
(entdel e1)
(setq e1 (xdge::entity:make g2))
(xdge::free (list g1 g2))
(setq e2 (xdrx_text_make '(0 0 0) "A" 1.0))
(xdrx_text_SetHozMode e2 5)
(xdrx_text_setAlignmentPoint e2 '(0.6 -0.5 0))
(xdrx_text_setposition e2 '(-0.4 -0.5 0))
(setq blk (xdrx_block_make "XD_DIMINDEX" (list e1 e2) '(0 0 0) t))
(xdrx_block_Text2Attribute (entlast))
(entdel (entlast)) (setq blk "XD_DIMINDEX")
)
)
(setq scl (xd::var:getscaleratio)
e3 (xd::mleader:makeblock p1 p2 doglen "XD_DIMINDEX")
)
(xdrx_setpropertyvalue e3 "blockscale" (* scl height) "lastvertex" p2)
(setq attdef (car (xdrx_block_getentities blk '((0 . "ATTDEF"))))
id (xdrx_getpropertyvalue attdef "objectid")
)
(xdrx_setpropertyvalue e3 "arrowsymbolid" arrow "arrowsize" (* scl
arrowsize
)
)
(vla-setblockattributevalue (vlax-ename->vla-object e3) id str)
e3
)
|