乐筑天下

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

[编程交流] 简单的LISP(我猜)

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:04:49 | 显示全部楼层 |阅读模式
我发现自己再次需要像你这样的专家的帮助。
 
我认为我想要的Lisp程序很简单,如果可以的话。我有一张画,画了几行,每行写一个值。本文显示了管道的直径(绘制的线是管道)。文本是简单的文本,而不是属性。
 
正如你可能已经猜到的,有数百个不同直径的管子。我需要的LISP如下:我单击文本-它读取的内容总是一个数字-将值除以2-单击行-将最后一个值偏移到每一侧,然后删除中间的行-结束命令。用这个Lisp程序的词,我会像疯子一样到处点击,直到我的所有线条都显示出管子的直径。
 
提前感谢,
罗德里戈
回复

使用道具 举报

12

主题

119

帖子

107

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 10:13:55 | 显示全部楼层
这会做你想做的,但它不允许你选择文本。您必须手动输入直径。在有人修改代码之前,它应该能让你暂时达到你想要的目的。。。
 
  1. (defun c:DOF (/ a b b1 p1 d pckbox)
  2. (setq d 20 p1 nil pee (/ pi 2)e 3 pckbox (getvar "pickbox")line "                           
  3.    ")
  4. (princ "\nEnter Pipe Diameter <")
  5. (setq answer(getreal ">: "))
  6. (setq answer2(/ answer 2))
  7. (princ line)
  8. (setvar "pickbox" pckbox)
  9. (setq ent(entsel "\nPick the line: "))
  10. (setvar "pickbox" 2)
  11. (setq point(cadr ent))
  12. (princ line)
  13.        (setq side(getpoint "\nPick an offset side: "))
  14. (setq dist(distance side point))(setq ang(angle side point))
  15. (if(or(or(< ang 0.78)(> ang 5.5))(and(> ang 2.35)(< ang 3.92)))
  16. (setq ang(- 0 ang))(setq ang(- pi ang))
  17. );end if
  18. (setq other(polar point ang dist))
  19. (command "offset" answer2 ent side ent other "")
  20.        (entdel(car ent))
  21. (setvar "pickbox" pckbox)
  22. (prin1)
  23. )
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:19:50 | 显示全部楼层
 
 
感谢您的快速回复!我现在就试试这个!
回复

使用道具 举报

8

主题

1647

帖子

1647

银币

初来乍到

Rank: 1

铜币
36
发表于 2022-7-6 10:24:41 | 显示全部楼层
如果你在lisp部分发布你的问题,你会得到更多的回复。
我已经为你把这条线移到那里了。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:27:35 | 显示全部楼层
我喜欢人们说一个常规的写作很简单,但我无法想象自己能学会由谁来写。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:34:05 | 显示全部楼层
我认为我应该更倾向于使用entmake,因为通过OFFSET命令拾取点可能会导致错误
 
 
  1. [b][color=BLACK]([/color][/b]defun c:offtxt [b][color=FUCHSIA]([/color][/b]/ tx tv ss en ed p10 p11 p20 p21 p30 p31 fd sd[b][color=FUCHSIA])[/color][/b]
  2. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not tx[b][color=MAROON])[/color][/b]
  3.             [b][color=MAROON]([/color][/b]/= [b][color=GREEN]([/color][/b]sslength tx[b][color=GREEN])[/color][/b] 1[b][color=MAROON])[/color][/b]
  4.             [b][color=MAROON]([/color][/b]<= [b][color=GREEN]([/color][/b]setq tv [b][color=BLUE]([/color][/b]atof [b][color=RED]([/color][/b]cdr [b][color=PURPLE]([/color][/b]assoc 1 [b][color=TEAL]([/color][/b]entget [b][color=OLIVE]([/color][/b]ssname tx 0[b][color=OLIVE])[/color][/b][b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] 0.[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  5.         [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"\nSelect Numeric Text To Read..."[/color][b][color=NAVY])[/color][/b]
  6.         [b][color=NAVY]([/color][/b]setq tx [b][color=MAROON]([/color][/b]ssget '[b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]0 . [color=#2f4f4f]"*TEXT"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  7. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not ss[b][color=MAROON])[/color][/b]
  8.             [b][color=MAROON]([/color][/b]/= [b][color=GREEN]([/color][/b]sslength ss[b][color=GREEN])[/color][/b] 1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  9.         [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"\nSelect Line To Offset..."[/color][b][color=NAVY])[/color][/b]
  10.         [b][color=NAVY]([/color][/b]setq ss [b][color=MAROON]([/color][/b]ssget '[b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]0 . [color=#2f4f4f]"LINE"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  11. [b][color=FUCHSIA]([/color][/b]setq en [b][color=NAVY]([/color][/b]ssname ss 0[b][color=NAVY])[/color][/b]
  12.        ed [b][color=NAVY]([/color][/b]entget en[b][color=NAVY])[/color][/b]
  13.       p10 [b][color=NAVY]([/color][/b]cdr [b][color=MAROON]([/color][/b]assoc 10 ed[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  14.       p11 [b][color=NAVY]([/color][/b]cdr [b][color=MAROON]([/color][/b]assoc 11 ed[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  15.       p20 [b][color=NAVY]([/color][/b]polar p10 [b][color=MAROON]([/color][/b]+ [b][color=GREEN]([/color][/b]angle p10 p11[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]* pi 0.5[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]* tv 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  16.       p30 [b][color=NAVY]([/color][/b]polar p10 [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]angle p10 p11[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]* pi 0.5[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]* tv 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  17.       p21 [b][color=NAVY]([/color][/b]polar p11 [b][color=MAROON]([/color][/b]+ [b][color=GREEN]([/color][/b]angle p10 p11[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]* pi 0.5[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]* tv 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  18.       p31 [b][color=NAVY]([/color][/b]polar p11 [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]angle p10 p11[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]* pi 0.5[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]* tv 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  19.        fd [b][color=NAVY]([/color][/b]subst [b][color=MAROON]([/color][/b]cons 10 p20[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]assoc 10 ed[b][color=MAROON])[/color][/b] ed[b][color=NAVY])[/color][/b]
  20.        fd [b][color=NAVY]([/color][/b]subst [b][color=MAROON]([/color][/b]cons 11 p21[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]assoc 11 ed[b][color=MAROON])[/color][/b] fd[b][color=NAVY])[/color][/b]
  21.        sd [b][color=NAVY]([/color][/b]subst [b][color=MAROON]([/color][/b]cons 10 p30[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]assoc 10 ed[b][color=MAROON])[/color][/b] ed[b][color=NAVY])[/color][/b]
  22.        sd [b][color=NAVY]([/color][/b]subst [b][color=MAROON]([/color][/b]cons 11 p31[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]assoc 11 ed[b][color=MAROON])[/color][/b] sd[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  23. [b][color=FUCHSIA]([/color][/b]entmake fd[b][color=FUCHSIA])[/color][/b]
  24. [b][color=FUCHSIA]([/color][/b]entmake sd[b][color=FUCHSIA])[/color][/b]
  25. [b][color=FUCHSIA]([/color][/b]entdel en[b][color=FUCHSIA])[/color][/b]
  26. [b][color=FUCHSIA]([/color][/b]redraw[b][color=FUCHSIA])[/color][/b]
  27. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]
回复

使用道具 举报

12

主题

119

帖子

107

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 10:40:59 | 显示全部楼层
对于我们这些以英尺为单位绘制图形的人,我们可以在程序中将拾取的“文本”除以12,以便程序将拾取的文本识别为英寸。
谢谢
史蒂夫
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-6 10:45:26 | 显示全部楼层
David Bethels(*tv 0.5)这是偏移量
Lt Dans腿部(*0.5 di)相同(/(*0.5 di)12.0))
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 10:52:55 | 显示全部楼层
 
Thx AL,我试图找出如何将pick文本除以12。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 10:56:32 | 显示全部楼层
 
你必须小心(distof),如果文本是以建筑为单位的,并且单位是十进制的“date=”,则返回值可以为零
 
 
[/代码']
(设置增值税“单位”2)
(距离“1’-0”)
[/code]
 
还有颜色(62)厚度(39)线型(6)UCS(210)等会发生什么变化
 
-大卫
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 01:03 , Processed in 1.047094 second(s), 72 queries .

© 2020-2025 乐筑天下

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