求助关于生成天正对象
各位,这厢求助了!我想用 entmake生成天正的标高对象,我查看了天正给的编程接口,说的就是 10 1 为必须了,我如下测试,总不行,请助!!(entmake (list
' (0 . "TCH_ELEVATION")
'(10 15633.6 0.0 0.0)
'(1 . "0.00000")
)
);
请懂的朋友给提个 醒!不胜感激!!
本帖最后由 highflybird 于 2011-4-27 09:50 编辑
据我所知,天正与LISP的接口是个半成品。那个以前最早定义实体的人离开天正之后,就没人来完善它。
不过你可以这样用:
(entmake
'((0 . "TCH_ELEVATION")
(100 . "AcDbEntity")
(410 . "Model")
(8 . "DIM_ELEV")
(100 . "TDbEntity")
(100 . "TDbSymbWithText")
(7 . "_TCH_DIM")
(100 . "TDbSymbElevation")
(10 84966.3 37937.0 0.0) ;;插入点
(1 . "37.900") ;;标高值
)
)
好强!!
好人+强人!!谢谢谢谢! tz实体,不了解接口的情况下,直接修改实体的属性大部分会导致崩溃,慎用为妙。
标高还是可以的,我试过。 经常崩溃,搞得现在都不敢改 提供一个思路,拷贝一个,移动:
(defun c:tg (/ basePT basepto basepoint firpoint secpoint midx midy)
(princ "\n居中布置天正喷头:")
(setq
basePT (ssname
(ssget "x"
'((0 . "TCH_EQUIPMENT") (2 . "$TwtSys$00000125"))
)
0
)
)
(setq basepto (vlax-ename->vla-object basept))
(setq basepoint (vlax-3d-point (cdr (assoc 10 (entget basept)))))
(while (and (setq firpoint (getpoint "\n点选长方形两个角点,第一点:"))
(setq secpoint (getpoint firpoint "第二点:"))
)
(setq midx (/ (+ (car firpoint) (car secpoint)) 2.0))
(setq midy (/ (+ (cadr firpoint) (cadr secpoint)) 2.0))
(setq PTcopy (vla-copy basepto))
(vla-move ptcopy basepoint (vlax-3d-point (list midx midy)))
)
(princ)
)
页:
[1]