乐筑天下

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

[编程交流] 帮我解决这个Lisp程序的问题

[复制链接]

28

主题

76

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-6 09:21:59 | 显示全部楼层 |阅读模式
大家好,
我的Lisp程序经验很低。我做了下一个lisp,我想改进它,以这样使用:继续选择其他点,并不断绘制“管道”-一些与while。。。然后选择下一个点。。。请帮帮我!
 
;;;特维·弗洛林
(定义C:管道(/stp ep ds d1 d2 d3 d4 ang old\u err old\u hcosmode)
(defun DTR(deg)(*deg(/PI 180)))
(setq old\u err*错误*
*错误*hc\U err)
(setvar“CMDECHO”0)
(setvar“BLIPMODE”0)
(setq old\u hcosmode(getvar“Osmode”))
(setvar“Osmode”0)
(setq dia(getreal“\n名称:”)
(如果(=直径50)
(setq di 60.3))
(如果(=直径80)
(setq di 88.9))
(如果(=直径100)
(setq di 114.3))
(如果(=直径150)
(setq di 168.3)
(如果(=直径200)
(setq di 219.0)
(如果(=直径250)
(setq di 273)
(如果(=直径300)
(setq di 323.9))
(如果(=直径350)
(setq di 355.6))
(如果(=直径400)
(setq di 406.4))
(如果(=直径450)
(setq di 457.2))
(如果(=直径500)
(setq di 508)
(如果(=直径600)
(setq di 609.6))
(如果(=直径700)
(setq di 710)
(如果(=直径800)
(setq di 813)
(如果(=直径900)
(setq di 914))
 
(setq stp(getpoint“\n函数插入:”)
(如果(/=stp NIL)
(程序
(setq ep(getpoint“\nVarf:”stp))
 
(setq ds(距离stp ep)ang(角度stp ep))
)
(princ“\n?”)
)
(if(和stp ep)
(程序
(setq d1(极性stp(+ang(dtr 90))(/di 2))
d2(极性ep(+ang(dtr 90))(/di 2))
d3(极性ep(-ang(dtr 90))(/di 2))
d4(极性stp(-ang(dtr 90))(/di 2))
 
)
 
 
;(命令“_.PLINE”d1“W”“0”“0”
;  d2 d3 d4 d1“”
 
(命令“行”d1 d2“”
“_.CHPROP”“L”“”“la”“contur”“lt”“bylayer”“c”“bylayer”“”
“行”d3 d4“”
“_.CHPROP”“L”“”“la”“contur”“lt”“bylayer”“c”“bylayer”“”
“行”stp ep“”
“_.CHPROP”“L”“”“la”“axe”“lt”“bylayer”“c”“bylayer”“”)
)
 
);如果结束。
(setvar“Osmode”old\u hcosmode)
(setq*error*old\U err)
(普林斯)
)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:40:45 | 显示全部楼层
请使用[代码过帐]过帐代码。
 
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 09:51:25 | 显示全部楼层
虽然我不太了解最终产品,但我会从以下内容开始:
 
  1. [color=#8b4513];;;tevi florin[/color]
  2. [b][color=BLACK]([/color][/b]defun C:pipe [b][color=FUCHSIA]([/color][/b]/ stp ep ds d1 d2 d3 d4 ang old_err old_hcosmode
  3.                 data di dia[b][color=FUCHSIA])[/color][/b]
  4. [color=#8b4513];[b][color=FUCHSIA]([/color][/b]setq old_err *error*[/color]
  5. [color=#8b4513];     *error* hc_err[b][color=FUCHSIA])[/color][/b][/color]
  6. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"CMDECHO"[/color] 0[b][color=FUCHSIA])[/color][/b]
  7. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"BLIPMODE"[/color] 0[b][color=FUCHSIA])[/color][/b]
  8. [b][color=FUCHSIA]([/color][/b]setq old_hcosmode[b][color=NAVY]([/color][/b]getvar [color=#2f4f4f]"Osmode"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  9. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"Osmode"[/color] 0[b][color=FUCHSIA])[/color][/b]
  10. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [color=#2f4f4f]"BYLAYER"[/color][b][color=FUCHSIA])[/color][/b]
  11. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"CELTYPE"[/color] [color=#2f4f4f]"BYLAYER"[/color][b][color=FUCHSIA])[/color][/b]
  12. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"PLINEWID"[/color] 0.0[b][color=FUCHSIA])[/color][/b]
  13. [b][color=FUCHSIA]([/color][/b]setq data '[b][color=NAVY]([/color][/b][b][color=MAROON]([/color][/b]50  . 60.3[b][color=MAROON])[/color][/b]
  14.             [b][color=MAROON]([/color][/b]80  . 88.9[b][color=MAROON])[/color][/b]
  15.             [b][color=MAROON]([/color][/b]100 . 114.3[b][color=MAROON])[/color][/b]
  16.             [b][color=MAROON]([/color][/b]150 . 168.3[b][color=MAROON])[/color][/b]
  17.             [b][color=MAROON]([/color][/b]200 . 219.0[b][color=MAROON])[/color][/b]
  18.             [b][color=MAROON]([/color][/b]250 . 273.0[b][color=MAROON])[/color][/b]
  19.             [b][color=MAROON]([/color][/b]300 . 323.9[b][color=MAROON])[/color][/b]
  20.             [b][color=MAROON]([/color][/b]350 . 355.6[b][color=MAROON])[/color][/b]
  21.             [b][color=MAROON]([/color][/b]400 . 406.4[b][color=MAROON])[/color][/b]
  22.             [b][color=MAROON]([/color][/b]450 . 457.2[b][color=MAROON])[/color][/b]
  23.             [b][color=MAROON]([/color][/b]500 . 508.0[b][color=MAROON])[/color][/b]
  24.             [b][color=MAROON]([/color][/b]600 . 609.6[b][color=MAROON])[/color][/b]
  25.             [b][color=MAROON]([/color][/b]700 . 710.0[b][color=MAROON])[/color][/b]
  26.             [b][color=MAROON]([/color][/b]800 . 813.0[b][color=MAROON])[/color][/b]
  27.             [b][color=MAROON]([/color][/b]900 . 914.0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  28. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]not [b][color=MAROON]([/color][/b]assoc dia data[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  29.       [b][color=NAVY]([/color][/b]initget 7[b][color=NAVY])[/color][/b]
  30.       [b][color=NAVY]([/color][/b]setq dia [b][color=MAROON]([/color][/b]getreal [color=#2f4f4f]"\nDiametru:   "[/color] [b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  31. [b][color=FUCHSIA]([/color][/b]setq di [b][color=NAVY]([/color][/b]cdr [b][color=MAROON]([/color][/b]assoc dia data[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  32. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  33. [b][color=FUCHSIA]([/color][/b]setq stp [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\nPunct Insertie:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  34. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]setq ep [b][color=MAROON]([/color][/b]getpoint stp [color=#2f4f4f]"\nVarf:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  35.       [b][color=NAVY]([/color][/b]setq ds [b][color=MAROON]([/color][/b]distance stp ep[b][color=MAROON])[/color][/b]
  36.            ang [b][color=MAROON]([/color][/b]angle stp ep[b][color=MAROON])[/color][/b]
  37.             d1 [b][color=MAROON]([/color][/b]polar stp [b][color=GREEN]([/color][/b]+ ang [b][color=BLUE]([/color][/b]* pi 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]/ di 2.[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  38.             d2 [b][color=MAROON]([/color][/b]polar ep  [b][color=GREEN]([/color][/b]+ ang [b][color=BLUE]([/color][/b]* pi 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]/ di 2.[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  39.             d3 [b][color=MAROON]([/color][/b]polar ep  [b][color=GREEN]([/color][/b]- ang [b][color=BLUE]([/color][/b]* pi 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]/ di 2.[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  40.             d4 [b][color=MAROON]([/color][/b]polar stp [b][color=GREEN]([/color][/b]- ang [b][color=BLUE]([/color][/b]* pi 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]/ di 2.[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  41.       [color=#8b4513];[b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_.PLINE"[/color] d1 d2 d3 d4 d1 [color=#2f4f4f]""[/color][b][color=NAVY])[/color][/b][/color]
  42.       [b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_.LINE"[/color] d1 d2 [color=#2f4f4f]""[/color]
  43.                [color=#2f4f4f]"_.LINE"[/color] d3 d4 [color=#2f4f4f]""[/color]
  44.                [color=#2f4f4f]"_.LINE"[/color] stp ep [color=#2f4f4f]""[/color][b][color=NAVY])[/color][/b]
  45.       [b][color=NAVY]([/color][/b]setq stp ep[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  46. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"Osmode"[/color] old_hcosmode[b][color=FUCHSIA])[/color][/b]
  47. [b][color=FUCHSIA]([/color][/b]setq *error* old_err[b][color=FUCHSIA])[/color][/b]
  48. [b][color=FUCHSIA]([/color][/b]princ[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
 
可能正在尝试制作自定义多线?
 
-大卫
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 10:09:36 | 显示全部楼层
很好的一个是塑料管或钢管,因为混凝土300应该是362。但管道类型可以简单地添加到代码中,以生成更大的库。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:11:26 | 显示全部楼层
谢谢
 
如果是MILNE替代品,这应该非常有用:
 
 
http://www.cadtutor.net/forum/showthread.php?52810-查找-a-LISP-routine-Multiple-Polyline-Offset/page2&highlight=mline
 
-大卫
回复

使用道具 举报

28

主题

76

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-6 10:30:00 | 显示全部楼层
谢谢大家,没关系!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 02:50 , Processed in 0.324747 second(s), 64 queries .

© 2020-2025 乐筑天下

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