试写了一个,看看能不能满足
 - (vl-load-com)
- (setvar "cmdecho" 0)
- (setq *AcadDoc* (vla-get-ActiveDocument (vlax-get-Acad-Object)))
- (setq *MoSpace* (vla-get-ModelSpace *AcadDoc*))
- (defun c:tt (/ blk1 blk2 objname1 objname2 pt1 pt2)
- (if (and (setq blk1 (vlax-ename->vla-object (car (entsel "\n选择块:"))))
- (setq blk2 (vlax-ename->vla-object (car (entsel "\n选择块:"))))
- )
- (progn
- (setq objname1 (vla-get-objectname blk1)
- objname2 (vla-get-objectname blk2)
- )
- (if (and (equal objname1 "AcDbBlockReference")
- (equal objname1 "AcDbBlockReference")
- )
- (progn
- (setq pt1 (vla-get-InsertionPoint blk1)
- pt2 (vla-get-InsertionPoint blk2)
- )
- (vla-addline *mospace* pt1 pt2)
- (setq pt1 pt2)
- (while (setq
- blk2 (vlax-ename->vla-object (car (entsel "\n选择块:")))
- )
- (if (equal (vla-get-objectname blk2) "AcDbBlockReference")
- (progn
- (setq pt2 (vla-get-insertionpoint blk2))
- (vla-addline *mospace* pt1 pt2)
- (setq pt1 pt2)
- )
- )
- )
- )
- )
- )
- )
- )
|