乐筑天下

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

[编程交流] 使行命令循环

[复制链接]

29

主题

88

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 10:23:22 | 显示全部楼层 |阅读模式
全部的
 
我正在尝试进行以下代码循环。
  1. (defun c:dp ()
  2. (while T
  3.    (progn
  4.      (Setq scale (getvar 'dimscale))
  5.      (setq Di 0.0625)
  6.      (setq spacing (* scale 0.0625))
  7.      (Setq pt1 (getpoint "\nPick first point:")
  8.     Pt2 (getpoint pt1 "\nNext point:"))
  9.      (Setq ang (angle pt1 pt2))
  10.      (Setq P1 (polar pt1 (+ ang (/ pi 2))(* scale di)))
  11.      (Setq p2 (polar pt1 (- ang (/ pi 2))(* scale di)))
  12.      (Setq p3 (polar pt2 (+ ang (/ pi 2))(* scale di)))
  13.      (Setq p4 (polar pt2 (- ang (/ pi 2))(* scale di)))
  14.      (Setq hang (atof (angtos (+ ang (/ pi 4)) 0 4)))
  15.      (Command "line" pt1 pt2 "")
  16.      (Command "-hatch" "P" "U" hang spacing "n"
  17.        "w" "n" p1 p2 p4 p3 "c" "" ""))))
  18.    

 
其目的是绘制一条线并对其进行图案填充,以象征管道的拆除。
 
提前感谢,
马特
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 10:46:33 | 显示全部楼层
在一个类似的注释中,我认为今年早些时候有人要求在计划拆除的线(我认为代表墙)上应用一种类似图案填充的线型。那对你有用吗?我相信搜索CT网站就能找到它。
 
附录:
 
这是一个线型的链接,看起来有点像这样:///////
 
http://www.cadtutor.net/forum/showthread.php?40241-复杂线型和高光=拆除
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:56:44 | 显示全部楼层
循环[点:
 
  1. [b][color=BLACK]([/color][/b]defun c:mln [b][color=FUCHSIA]([/color][/b]/ p1 p2[b][color=FUCHSIA])[/color][/b]
  2. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  3. [b][color=FUCHSIA]([/color][/b]setq p1 [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\nPick first point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  4. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]setq p2 [b][color=MAROON]([/color][/b]getpoint p1 [color=#2f4f4f]"\nNext point:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  5.         [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b]
  6.                        [b][color=GREEN]([/color][/b]cons 10 p1[b][color=GREEN])[/color][/b]
  7.                        [b][color=GREEN]([/color][/b]cons 11 p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  8.         [color=#8b4513];;;MAKE THE HATCH HERE[/color]
  9.         [b][color=NAVY]([/color][/b]setq p1 p2[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  10. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
我认为你在hatch编码方面有问题,但那是另一回事-大卫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:06:55 | 显示全部楼层
也许是哈里森先生?
 
  1. (defun c:dp ( / *error* vars vals spc p1 p2 ang )
  2. (defun *error* ( msg )
  3.    (and vals (mapcar 'setvar vars vals))
  4.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  5.        (princ (strcat "\n** Error: " msg " **")))
  6.    (princ)
  7. )
  8. (setq vars '("CMDECHO" "OSMODE")
  9.        vals  (mapcar 'getvar vars)
  10.        spc   (* (cond ( (zerop (getvar 'DIMSCALE)) 1.0 ) ( (getvar 'DIMSCALE) )) 0.0625)
  11. )
  12. (while (and (setq p1 (getpoint "\nPick First Point: "))
  13.              (setq p2 (getpoint "\nNext Point: " p1)))
  14.    (mapcar 'setvar vars '(0 0))
  15.    (setq ang (angle p1 p2))
  16.    (command "_.line" p1 p2 "")
  17.    (command "_.-hatch" "_P" "_U" (+ 45. (* 180. (/ ang pi))) spc "_N" "_W" "_N"
  18.      (polar p1 (+ ang (/ pi 2.)) spc)
  19.      (polar p1 (- ang (/ pi 2.)) spc)
  20.      (polar p2 (- ang (/ pi 2.)) spc)
  21.      (polar p2 (+ ang (/ pi 2.)) spc) "_C" "" ""
  22.    )
  23.    (mapcar 'setvar vars vals)
  24. )
  25. (princ)
  26. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:17:52 | 显示全部楼层
或者,如果你想要像Line命令一样的行为,可以将David的结构替换到我的循环中
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 11:25:35 | 显示全部楼层
我更喜欢匿名街区而不是舱口。
 
  1. [b][color=BLACK]([/color][/b]defun c:mlnh [b][color=FUCHSIA]([/color][/b]/ p1 p2 a xp od yp lp bn[b][color=FUCHSIA])[/color][/b]
  2. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  3. [b][color=FUCHSIA]([/color][/b]setq p1 [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\nPick first point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  4. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]setq p2 [b][color=MAROON]([/color][/b]getpoint p1 [color=#2f4f4f]"\nNext point:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  5.         [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b]
  6.                        [b][color=GREEN]([/color][/b]cons 10 p1[b][color=GREEN])[/color][/b]
  7.                        [b][color=GREEN]([/color][/b]cons 11 p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  8.         [b][color=NAVY]([/color][/b]setq a [b][color=MAROON]([/color][/b]angle p1 p2[b][color=MAROON])[/color][/b]
  9.              xp 0
  10.              od [b][color=MAROON]([/color][/b]* [b][color=GREEN]([/color][/b]getvar [color=#2f4f4f]"DIMSCALE"[/color][b][color=GREEN])[/color][/b] 0.0625[b][color=MAROON])[/color][/b]
  11.              yp [b][color=MAROON]([/color][/b]* [b][color=GREEN]([/color][/b]sin [b][color=BLUE]([/color][/b]* pi 0.25[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] od 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  12.         [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"BLOCK"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 2 [color=#2f4f4f]"*U"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]list 10 0 0 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 70 1[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  13.         [b][color=NAVY]([/color][/b]while [b][color=MAROON]([/color][/b]< xp [b][color=GREEN]([/color][/b]distance p1 p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  14.                [b][color=MAROON]([/color][/b]setq lp [b][color=GREEN]([/color][/b]list xp [b][color=BLUE]([/color][/b]- yp[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  15.                [b][color=MAROON]([/color][/b]entmake [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=BLUE])[/color][/b]
  16.                               [b][color=BLUE]([/color][/b]cons 10 lp[b][color=BLUE])[/color][/b]
  17.                               [b][color=BLUE]([/color][/b]cons 11 [b][color=RED]([/color][/b]polar lp [b][color=PURPLE]([/color][/b]* pi 0.25[b][color=PURPLE])[/color][/b] od[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  18.                [b][color=MAROON]([/color][/b]setq xp [b][color=GREEN]([/color][/b]+ xp od[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  19.         [b][color=NAVY]([/color][/b]setq bn [b][color=MAROON]([/color][/b]entmake [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"ENDBLK"[/color][b][color=BLUE])[/color][/b][b][color=BLUE]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  20.         [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"INSERT"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 2 bn[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 10 p1[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 50 a[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  21.         [b][color=NAVY]([/color][/b]setq p1 p2[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  22. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
-大卫
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 22:05 , Processed in 0.511541 second(s), 75 queries .

© 2020-2025 乐筑天下

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