以下是我写的:
-客户端选择一个块(我假设它有一个描述,我假设客户端单击一个块…没有反虚拟保护)
-客户现在必须绘制多重引线:两点:箭头+引线
-例程将填充标题,作为块的描述。
命令:SAD(可能是双关语,尽管它只是一个缩写)
- (defun getBlockProperties ( #Entsel / )
- (setq #Entsel (vlax-ename->vla-object (car #Entsel))
- ;; insertion point
- #InsPoint (vlax-safearray->list
- (vlax-variant-value
- (vla-get-InsertionPoint #Entsel)
- ) ;_ vlax-variant-value
- ) ;_ vlax-safearray->list
- ;; block name
- #Name (vla-get-name #Entsel)
- ;; block description
- #Desc (vla-get-comments
- (vla-item
- (vla-get-blocks
- (vla-get-activedocument (vlax-get-acad-object))
- ) ;_ vla-get-blocks
- #Name
- ) ;_ vla-item
- ) ;_ vla-get-comments
- ) ;_ setq
- (list #Name #InsPoint #Desc)
- )
- ;; create Mleader with caption.
- (defun wmt (caption / )
- ;;(vl-cmdf "_.MLEADER" PAUSE PAUSE "" "_.TEXTEDIT" "_L")
- (vl-cmdf "_.MLEADER" PAUSE PAUSE caption)
- )
- ;; Select And get Description
- (defun c:sad ( / desc)
- (setq desc (nth 2 (getBlockProperties (entsel "\nSelect a block: "))))
- (princ "\nNow draw the MLeader:\n")
- (wmt desc)
- (princ)
- )
对这个满意吗? |