你好
尝试为立面图编写新的lisp,但有一些问题我无法解决:/
第一个错误:“错误的参数类型:2D/3D点:nil”
此例程昨天正常工作,但现在出现如上所示的错误消息
第二个错误:(命令“p1 p2”)(命令“p4 p5”)
p1和p5总是有一个z值,我不明白:/
第三个错误:acad始终计算随机角度:/
我是新手,我从这么多lisp文件中创建/编辑了这个例程。所以请告诉我自己的设计错误。
此处附上示例dwg和代码。。。谢谢你的预付款
- (defun c:www ()
- (vl-load-com)
- (setq mysset (ssget '((0 . "*POLYLINE")))
- mylength (sslength mysset)
- counter 0
- )
- (while (< counter mylength)
- (setq objs (ssname mysset counter))
- (setq data (vlax-get (vlax-ename->vla-object objs) "Coordinates") i 0)
- (setq blk 1)
- (repeat (/ (length data) 3)
- (setq x (nth i data)
- y (nth (+ 1 i) data)
- z (nth (+ 2 i) data)
- p (list x y)
- i (+ i 3)
- n (strcat "ELEV_" (itoa blk))
- blk (+ 1 blk)
- )
- (cond ((= blk 2) (setq p1x (car p)
- p1y (cadr p)
- p1 (list p1x p1y)))
- ((= blk 3) (setq p2x (car p)
- p2y (cadr p)
- p2 (list p2x p2y)))
- ((= blk 4) (setq p3x (car p)
- p3y (cadr p)
- p3 (list p3x p3y)))
- ((= blk 5) (setq p4x (car p)
- p4y (cadr p)
- p4 (list p4x p4y)))
- ((= blk 6) (setq p5x (car p)
- p5y (cadr p)
- p5 (list p5x p5y)))
- )
- (setq di-p1_p2 (distance p1 p2)
- di-p4_p5 (distance p4 p5)
- tx-p1_p2 (/ (+ p1x p2x) 2)
- ty-p1_p2 (/ (+ p1y p2y) 2)
- txt-p1_p2 (list tx-p1_p2 ty-p1_p2)
- tx-p4_p5 (/ (+ p4x p5x) 2)
- ty-p4_p5 (/ (+ p4y p5y) 2)
- txt-p4_p5 (list tx-p4_p5 ty-p4_p5)
- ang (angle p1 p5)
- )
- (command "-insert" n p "" "" (angtos ang) (rtos z 2 3))
- (setq elev_block (entlast))
- (command "rotate" elev_block "" p 90)
- (command "_line" p1 p2 "")
- (command "_line" p4 p5 "")
- );repeat
- (command "-insert" "ELEV_DIST_LEFT" txt-p1_p2 "" "" (angtos ang) (rtos di-p1_p2 2 1))
- (command "-insert" "ELEV_DIST_RIGHT" txt-p4_p5 "" "" (angtos ang) (rtos di-p4_p5 2 1))
- (setq counter (+ 1 counter))
- );while
- )
奥尔内克(2)。图纸 |