乐筑天下

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

[编程交流] 绘制线条

[复制链接]

14

主题

68

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 22:56:38 | 显示全部楼层 |阅读模式
在纯lisp中,如何编写代码,用以下给定值绘制3行:
选取两个点(p1和p2)绘制第一条线。
从p2连接一条垂直于它的新线,长度为一米半。让我们将另一个端点称为P3。
第三条线是通过闭合p3和p1形成的。
如果可能,可以选择镜像完成的多边形。或者,如果没有,请选择将第二行添加到哪一侧,即第一行的左侧或右侧,方法可能是捆扎,或者只是将鼠标指向该位置-以最简单的为准。非常感谢。
 
请帮忙。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:06:16 | 显示全部楼层
做一些关于极轴的家庭作业这会根据与点的角度和距离计算出一个新的点跟踪
 
  1. ; as simple as it gets
  2. (setq pt1 (getpoint)
  3. (setq pt2 (getpoint)
  4. (setq ang (+ (angle pt1 pt2) (/ (pi 2.0))))
  5. (setq dist (getdist))
  6. (setq pt3 (polar pt2 ang dist))
  7. (command "Line" pt1 pt2 pt3 pt1 "")
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:13:57 | 显示全部楼层
BIGAL,因为您可能直接在这里编辑了该代码,所以我冒昧地修复了一些问题:
  1. (if (and (setq pt1 (getpoint))
  2.         (setq pt2 (getpoint pt1)))
  3. (progn
  4. (setq ang (+ (angle pt1 pt2) (/ pi 2.0)))
  5. (setq pt3 (polar pt2 ang 1.5))
  6. (command "_Line" "_non" pt1 "_non" pt2 "_non" pt3 "_C")
  7. )
  8. )
回复

使用道具 举报

14

主题

68

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 23:21:55 | 显示全部楼层
谢谢你们。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:27:29 | 显示全部楼层
感谢Msasu刚才作为一个未经测试的快速示例所做的工作。我应该检查一下。
回复

使用道具 举报

14

主题

68

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 23:34:15 | 显示全部楼层
如果你不介意的话,我可以再补充一个问题吗。如果要更改其单独属性(如图层等),如何将每条线指定为3个单独的实体,您可以调用这些实体。?
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:39:02 | 显示全部楼层
为此,必须一次添加每个段,并使用ENTLAST函数检索它。添加了功能编辑示例。
  1. (if (and (setq pt1 (getpoint))
  2.         (setq pt2 (getpoint pt1)))
  3. (progn
  4. (setq ang (+ (angle pt1 pt2) (/ pi 2.0)))
  5. (setq pt3 (polar pt2 ang 1.5))
  6. [color=magenta]  (command "_LINE" "_non" pt1 "_non" pt2 "")(setq entity1st (entlast))[/color]
  7. [color=magenta]  (command "_LINE" "_non" pt2 "_non" pt3 "")(setq entity2nd (entlast))[/color]
  8. [color=magenta]  (command "_LINE" "_non" pt3 "_non" pt1 "")(setq entity3rd (entlast)) [/color]
  9. [color=blue]  ;set color of first line entity to yellow[/color]
  10. [color=blue]  (command "_CHPROP" entity1st "" "_C" 2 "")[/color]
  11. )
  12. )
回复

使用道具 举报

14

主题

68

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 23:44:37 | 显示全部楼层
对这正是我想要的。我一直在想方设法,但都没有成功。谢谢Mircea!
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:56:39 | 显示全部楼层
不客气,阿泰克!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:00:40 | 显示全部楼层
Msasu可能不需要entlast,只要创建了每条新线
 
  1. (command "_LINE" "_non" pt1 "_non" pt2 "")[color=#ff00ff](command "_chprop" "L" "" "_c" 2 "")[/color]
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:26 , Processed in 0.679549 second(s), 72 queries .

© 2020-2025 乐筑天下

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