乐筑天下

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

[编程交流] Lisp中的偏移、修剪命令

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:47:07 | 显示全部楼层
这是Alan对空用户输入进行测试的方法,它的作用是当AND语句到达返回nil的表达式时,它将停止计算表达式。但我不喜欢整个程序中的这种结构。
回复

使用道具 举报

7

主题

42

帖子

35

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:52:47 | 显示全部楼层
 
 
我明白了,谢谢。我想那不是我的问题!英雄联盟
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 11:55:17 | 显示全部楼层
我不明白你到底需要什么
只是一个快速代码:
  1. (defun c:ofc (/ ang cp1 cp2 en1 en2 ent1 ent2 obj1 obj2 tp1 tp2 up1 up2)
  2. (setq ent1 (entsel "\nSelect first line : ")
  3. ent2 (entsel "\nSelect second line : ")
  4. en1 (car ent1)
  5. en2 (car ent2)
  6. obj1 (vlax-ename->vla-object en1)
  7. obj2 (vlax-ename->vla-object en2)
  8. cp1 (vlax-curve-getclosestpointto obj1
  9.       (vlax-curve-getpointatparam obj1
  10. (/ (- (vlax-curve-getendparam obj1)(vlax-curve-getstartparam obj1)) 2)))
  11. cp2 (vlax-curve-getclosestpointto obj2 cp1)
  12. ang (angle cp1 (vlax-curve-getstartpoint obj1))
  13. up1 (polar cp1 ang 2);<-- 2 is offset distance
  14. up2 (polar cp1 (+ pi ang) 2)
  15. tp1 (polar cp2 ang 2)
  16. tp2 (polar cp2 (+ pi ang) 2)
  17. )
  18. (command "._line" "_non" up1 "_non" tp1 ""
  19.    "._line" "_non" up2 "_non" tp2 ""
  20. )
  21. (princ)
  22. )
  23. (vl-load-com)
  24. (princ "\n   ***  Start command with OFC to excute   ***")
  25. (prin1)

但在这种情况下,您只添加了一张附加支票。无论哪种方式都需要。
回复

使用道具 举报

7

主题

42

帖子

35

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:56:39 | 显示全部楼层
我以为那会结束零分?
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 12:00:58 | 显示全部楼层
我不确定您在说什么-princ不在AND语句中,当在没有字符串或文件描述符的情况下调用时,将返回空符号(“”)。
回复

使用道具 举报

7

主题

42

帖子

35

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:04:08 | 显示全部楼层
我很抱歉。混淆了“干净地退出”和“nill”。
我真傻。。。到目前为止,我在这个学习曲线上真的很傻。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:06:53 | 显示全部楼层
 
 
有没有可能发布一个类似的“move”命令示例,或者将我指向包含该命令的例程?我在这个命令上一点运气都没有,似乎找不到任何例子。。。我讨厌成为新手——尽管如此!
谢谢,道格
回复

使用道具 举报

7

主题

42

帖子

35

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:11:04 | 显示全部楼层
这是一个使用Move的非常简单的代码——显然,这段代码是多余的,与Move命令相比没有优势,但它只是一个示例。
 
  1. (if (and the 3 prompts) (offset))
回复

使用道具 举报

7

主题

42

帖子

35

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:13:03 | 显示全部楼层
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:16:09 | 显示全部楼层
A very simple code using Move - obviously this code is redundant, with no advantage over the move command, but it serves as an example.
 
  1. (defun c:test ( / ss p1 p2 )  (if (and (setq ss (ssget "_:L"))          (setq p1 (getpoint "\nSpecify Base Point: "))          (setq p2 (getpoint "\nSpecify Next Point: " p1)))      (command "_.move" ss "" p1 p2))  (princ))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 11:25 , Processed in 0.407943 second(s), 70 queries .

© 2020-2025 乐筑天下

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