乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 53|回复: 6

[编程交流] 种植/树木/曲线

[复制链接]

8

主题

41

帖子

33

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 18:42:35 | 显示全部楼层 |阅读模式
你好
 
附件是我必须创建的种植边界。
 
如果任何人有lisp绘制类似的线,并愿意分享,请分享您的代码。
 
线型无法使用,因为如果需要,我需要稍后填充。
 
谢谢
 
 
PS:我试过mkltype并使用了wmfout和wmfin。形状和曲线之间有间隙。
种植。图纸
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:02:14 | 显示全部楼层
Express内置了一个中断例程,您可以从lisp中以某种方式调用它以实现自动化。
回复

使用道具 举报

8

主题

41

帖子

33

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 19:09:17 | 显示全部楼层
感谢Bigal提出的宝贵建议,
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 19:18:31 | 显示全部楼层
试试这个例行程序,它会根据需要完成任务。
 
注意:不要在多段线的弧段上使用例程,否则会产生意外结果。
 
  1. (defun c:Test (/ s gr o p a b c d e ang prm pt l f lst)
  2. ;;        Author        : Tharwat Al Shoufi                ;;
  3. ;;        Date        : 04. Sep. 2014                        ;;
  4. (if (and (setq s (entsel "\n Select polyline :"))
  5.           (eq (cdr (assoc 0 (entget (setq o (car s))))) "LWPOLYLINE")
  6.           )
  7.    (progn (while (and (eq (car (setq gr (grread t 15 0))) 5)
  8.                       (not (redraw))
  9.                       (setq p (vlax-curve-getclosestpointto o (cadr gr))
  10.                             a (vlax-curve-getpointatdist o (- (vlax-curve-getdistatpoint o p) (/ 0.1709 2.)))
  11.                             b (vlax-curve-getpointatdist o (+ (vlax-curve-getdistatpoint o p) (/ 0.1709 2.)))
  12.                       )
  13.                       (if (minusp (sin (- (angle a b) (angle b (cadr gr)))))
  14.                         (setq ang (angle b a))
  15.                         (setq ang (angle a b))
  16.                       )
  17.                       (setq c (polar (polar a (+ ang (* pi 0.5)) 0.2103) (angle a b) 0.0341)
  18.                             d (polar p (+ ang (* pi 1.5)) 0.1823)
  19.                             e (polar c (angle a b) 0.1028)
  20.                       )
  21.                  )
  22.             (grvecs (list -2 a c c d d e e b))
  23.           )
  24.           (if (and a b c d e)
  25.             (progn (setq lst nil
  26.                          prm (fix (vlax-curve-getparamatpoint o a))
  27.                          pt  (vlax-curve-getpointatparam o prm)
  28.                    )
  29.                    (foreach itm (entget o)
  30.                      (if (equal itm (setq f (list 10 (car pt) (cadr pt))) 0.0001)
  31.                        (setq lst (cons f lst)
  32.                              lst (cons (list 10 (car a) (cadr a)) lst)
  33.                              lst (cons (list 10 (car c) (cadr c)) lst)
  34.                              lst (cons (list 10 (car d) (cadr d)) lst)
  35.                              lst (cons (list 10 (car e) (cadr e)) lst)
  36.                              lst (cons (list 10 (car b) (cadr b)) lst)
  37.                        )
  38.                        (setq lst (cons itm lst))
  39.                      )
  40.                      (if (eq (car itm) 90)
  41.                        (setq lst (cons (cons 90 (+ (cdr itm) 5)) lst))
  42.                      )
  43.                    )
  44.                    (entmod (reverse lst))
  45.                    (entupd o)
  46.             )
  47.           )
  48.    )
  49. )
  50. (redraw)
  51. (princ)
  52. )(vl-load-com)
回复

使用道具 举报

8

主题

41

帖子

33

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 19:25:42 | 显示全部楼层
 
嗨,塔瓦,
 
非常感谢您的代码。
 
当前,代码会在每次拾取时创建所需的形状。是否有其他方法对其进行编码,以便它可以通过输入形状大小和间距一次性创建所需的形状。同样对于曲线段,绘制分段的多段线并将形状融入其中。
回复

使用道具 举报

10

主题

30

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-5 19:42:34 | 显示全部楼层
 
先生
 
请提供lisp,该lisp可以将任何闭合的LW多段线转换为Ziz Zag线,如附件所示(封闭区域应保持不变)。
https://www.dropbox.com/s/0xo26ytciypwab3/demo.dwg?dl=0
回复

使用道具 举报

10

主题

30

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-5 19:46:01 | 显示全部楼层
为方便起见,可以在autocad 2007中打开进一步缩小的版本
194238j28qz75ii8qqwbgb.jpg
演示1.dwg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 13:45 , Processed in 0.964220 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表