乐筑天下

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

[编程交流] 用Lisp语言绘制多边形

[复制链接]

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:25:46 | 显示全部楼层 |阅读模式
救命!!
我正在寻找一种快速的方法,关键在3维,然后有一个矩形多段线绘制和关闭。它可以在0,0,0自动开始绘图
 
三个用户条目将是A、B、C,其中A和C将不同,程序将关闭对象。
 
有关更好的解释,请参阅附件。
 
我很感谢大家对这方面的意见。。我不太擅长写Lisp程序,但我有很好的视野,谢谢你们,你们是最好的。
文档1.pdf
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 06:35:47 | 显示全部楼层
为什么需要lisp例程来绘制该形状?这一切都可以在命令行中快速完成。
 
命令:\u pline
指定起点:
当前线宽为0.0000
指定下一点或[弧(Arc)/半宽(Halfwidth)/长度(Length)/撤消(Undo)/宽度(Width)]:10
 
指定下一点或[弧(Arc)/闭合(Close)/半宽(Halfwidth)/长度(Length)/撤消(Undo)/宽度(Width)]:4
 
指定下一点或[弧(Arc)/闭合(Close)/半宽(Halfwidth)/长度(Length)/撤消(Undo)/宽度(Width)]:14
 
指定下一点或[弧(Arc)/闭合(Close)/半宽(Halfwidth)/长度(Length)/撤消(Undo)/宽度(Width)]:c
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:35:59 | 显示全部楼层
我知道这很简单。。。然而,我有一个工程师,他只想输入三维而不想输入其他内容,并为他完成。。。
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:44:43 | 显示全部楼层
如果能帮上忙,我们将不胜感激。。再次感谢你。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 06:48:45 | 显示全部楼层
我懂了。我想在我说我会后悔的话之前,我现在就停下来。
 
我相信这里的一位Lisp程序专家可以很快为您的工程师解决这个难题。
 
祝你好运,编码愉快。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 06:55:12 | 显示全部楼层
这个?
 
  1. (defun c:Test (/ i x p pt l)
  2. (setq i 0
  3.        x '("First" "Second" "Third" "Fourth")
  4. )
  5. (while (and
  6.           (not (eq (length l) 4))
  7.           (if pt
  8.             (setq p (getpoint (strcat "\n" (nth i x) " point :") pt))
  9.             (setq p (getpoint (strcat "\n" (nth i x) " point :")))
  10.           )
  11.           (setq pt p)
  12.         )
  13.    (setq l (cons p l)
  14.          i (1+ i)
  15.    )
  16. )
  17. (if (eq (length l) 4)
  18.    (command "_.pline"
  19.             "_non"
  20.             (car l)
  21.             "_non"
  22.             (cadr l)
  23.             "_non"
  24.             (caddr l)
  25.             "_non"
  26.             (nth 3 l)
  27.             "c"
  28.    )
  29. )
  30. (princ)
  31. )
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 06:59:31 | 显示全部楼层
从此,他们都过着幸福的生活。结束。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:03:30 | 显示全部楼层
感觉很慷慨。。。
 
  1. (defun c:Test (/ a b c p1 p2)
  2. (if (and (progn (initget 6) (setq a (getdist "\nSpecify length of side A: ")))
  3.           (progn (initget 6) (setq b (getdist "\nSpecify length of side B: ")))
  4.           (progn (initget 6) (setq c (getdist "\nSpecify length of side C: ")))
  5.           (setq p1 (getpoint "\nSpecify intersection of sides A and C: "))
  6.      )
  7.    (command "_.pline"
  8.             "_non"
  9.             (mapcar '+ p1 (list 0. a 0.))
  10.             "_non"
  11.             p1
  12.             "_non"
  13.             (setq p2 (mapcar '+ p1 (list c 0. 0.)))
  14.             "_non"
  15.             (mapcar '+ p2 (list 0. b 0.))
  16.             "_close"
  17.    )
  18. )
  19. (princ)
  20. )
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 07:08:33 | 显示全部楼层
你太棒了,效果很好。。我知道这很简单,真的不需要,但我还是很感激。
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 07:11:02 | 显示全部楼层
一件小事。。。。我要做什么改变才能使这个开始绘制0,0,0处的多段线??
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:27 , Processed in 0.637028 second(s), 72 queries .

© 2020-2025 乐筑天下

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