求函数文件
请问谁有no function definition: HH:ENT4PT这个提示里面的函数
;;[功能] 图元当前坐标系下包围盒,4角点坐标
;|
4 = 左上;3 = 右上
1 = 左下;2 = 右下
|;
;;Flag : T时,返回最小包围盒角点;nil时,返回包围盒角点
;;说明 1 使用前加载须加载highflybird的程序Matrix-Lib.LSP
;; 2 作者保留本程序的一切权利,但你可以自由拷贝与复制、修改本程序用于非商业目的
;; 3 自贡黄明儒 2013年10月8日
;;示例(draw-pline1(HH:Ent4pt (car (entsel)) T)),返回UCS坐标系下坐标
(defun HH:Ent4pt (ent Flag / LST MAT MAT1 MAXPT MINPT OBJ UCSFLAG X)
(cond ((= (type ent) 'ENAME)
(setq obj (vlax-ename->vla-object ent))
)
((= (type ent) 'VLA-OBJECT) (setq obj ent))
(T (exit))
)
(and Flag
(setq Mat (Mat:EntityMatrix ent))
(setq Mat1 (cadr Mat)) ;Mat1 4x4
(setq Mat (car Mat)) ;Mat 4x4
)
(if (= (getvar "WORLDUCS") 0)
(setq UcsFlag T)
)
(cond ((and Flag UcsFlag)
(vla-TransformBy obj (vlax-tmatrix Mat))
)
(UcsFlag (vla-TransformBy obj (vlax-tmatrix (MAT:u2w))))
(Flag (vla-TransformBy obj (vlax-tmatrix Mat)))
)
(vla-GetBoundingBox obj 'minPt 'maxPt) ;得到包围框
(setq minPt (vlax-safearray->list minPt))
(setq maxPt (vlax-safearray->list maxPt))
(cond ((and Flag UcsFlag)
(vla-TransformBy obj (vlax-tmatrix Mat1))
)
(UcsFlag (vla-TransformBy obj (vlax-tmatrix (MAT:w2u))))
(Flag (vla-TransformBy obj (vlax-tmatrix Mat1)))
)
(setq lst (list minPt
(list (car maxPt) (cadr minpt) (caddr minPt))
maxPt
(list (car minpt) (cadr maxPt) (caddr minPt))
)
)
(COND (Flag nil)
(UcsFlag (setq mat1 (MAT:w2u)))
)
(cond ((or Flag UcsFlag)
(setq lst (mapcar '(lambda (x) (mat:mxp mat1 x)) lst)) ;wcs坐标
(setq lst (mapcar '(lambda (x) (trans x ent 1)) lst))
)
)
lst
) 自贡黄明儒 发表于 2020-7-27 11:24
谢谢,附件代码还缺
原因:no function definition: MAT:ENTITYMATRIX 位置-> 行:292 列:19
请问您那边有吗 yangchao2005090 发表于 2020-7-27 11:53
谢谢,附件代码还缺
原因:no function definition: MAT:ENTITYMATRIX 位置-> 行:292 列:19
请问您那边 ...
好吧,谢谢
页:
[1]