明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1194|回复: 10

[提问] autolisp精确绘制多段线

[复制链接]
发表于 2021-12-22 09:08:49 | 显示全部楼层 |阅读模式
(defun c:cv ()
(setvar "cmdecho" 0)
  (drawjz)
  (drawjj)
  (prin1)
  )
;井座
(defun drawjz()
(command "_-view" "o" "f")
(setq p1 '(0 0 0))
(setq p2 (polar p1 0 35.5))
(setq p3 (polar p2 (/ pi 2) 8))
(setq p4 (polar p3 (/ pi 2) 8))
(setq p5 (polar p4 pi 6))
(setq p6 (polar p5 (/ pi 2) 65))
(setq p7 (polar p6 pi 12))
(setq p8 (polar p5 pi 12))
(setq p9 (polar p8 pi 17.5))
(command "pline" p1 p2 p3 p5 p6 p7 p8 p9 "c")
(setq jz (entlast))
(command "revolve" jz "" p1 p9 "360")
)
;井架
(defun drawjj()

(setq j1 '(19.5 0 0))
(setq j2 (polar j1 (/ pi 2) 2.2))
(setq j3 (polar j2 0 2.89))
(setq j4 (polar j3 (* 0.75 pi) 1))
(setq j5 (polar j4 0 0.11))
(setq j6 (polar j5 0 2.1))
(setq j7 (polar j6 (* 0.75 pi) 0.3))
(setq j8 (polar j7 (* 0.75 pi) 0.9))
(command "pline" j5 j7 j8 "")
  )

后边井架部分总是不出来,不知道哪出问题了,请大神给看看,给跪了

发表于 2021-12-22 09:23:53 | 显示全部楼层
点位之间的位置关系正确吗?你期望的结果图是啥样?
发表于 2021-12-22 09:33:04 | 显示全部楼层
要关捕捉      
 楼主| 发表于 2021-12-22 09:50:35 | 显示全部楼层
mahuan1279 发表于 2021-12-22 09:23
点位之间的位置关系正确吗?你期望的结果图是啥样?


 楼主| 发表于 2021-12-22 09:50:55 | 显示全部楼层

好的,我试试
 楼主| 发表于 2021-12-22 09:53:15 | 显示全部楼层

没管用,我再想想别的方法吧,谢谢您了
 楼主| 发表于 2021-12-22 09:57:55 | 显示全部楼层
mahuan1279 发表于 2021-12-22 09:23
点位之间的位置关系正确吗?你期望的结果图是啥样?

这个我不会发图片,就是lisp画多段线,是不是不能很精确?前边井座部分的全是整数就能显示
 楼主| 发表于 2021-12-22 10:01:34 | 显示全部楼层
hyx123 发表于 2021-12-22 09:57
这个我不会发图片,就是lisp画多段线,是不是不能很精确?前边井座部分的全是整数就能显示

我先检查一遍吧,我感觉有的位置关系写错了
发表于 2021-12-24 11:12:16 | 显示全部楼层
用entmake 最好
;;;画PL线,bool=T闭合,bool=nil 不闭合
(defun lwpolymaker (lst BOOL / COMB)
  (if bool
    (setq comb 1)
    (setq comb 0)
  )
  (entmakex (append (list '(0 . "LWPOLYLINE")
                          '(100 . "AcDbEntity")
                          '(100 . "AcDbPolyline")
                          '(62 . 0)
                          (cons 90 (length lst))
                          (cons 70 comb)
                    )
                    (mapcar '(lambda (pt) (cons 10 pt)) lst)
            )
  )
)
 楼主| 发表于 2021-12-27 09:20:39 | 显示全部楼层
菜卷鱼 发表于 2021-12-24 11:12
用entmake 最好
;;;画PL线,bool=T闭合,bool=nil 不闭合
(defun lwpolymaker (lst BOOL / COMB)

好的,我试试,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-15 01:20 , Processed in 0.171264 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表