乐筑天下

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

[编程交流] lisp中的Arc命令

[复制链接]

9

主题

47

帖子

38

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 16:22:51 | 显示全部楼层 |阅读模式
我相信有办法做到这一点。我正在lisp文件中使用命令“arc”。我的中点和终点需要存储为变量。目前看起来是这样的。但我希望它能像正常的弧命令一样显示弧。
 
一如既往,谢谢。
 
我真正需要的是弧的终点。我知道有一种visal lisp的方法可以做到这一点,但我对此一无所知。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-5 16:26:33 | 显示全部楼层
??
 
  1. (defun _arc (centerpoint / ent)
  2. (setq ent (entlast))
  3. (command "_.arc" "_c" "_non" centerpoint)
  4. (while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
  5. (if (not (equal ent (setq ent (entlast))))
  6.    ent
  7. )
  8. )
  9. (defun c:Test (/ point arc)
  10. (vl-load-com)
  11. (if (and (setq point "\nSpecify center point: ")
  12.           (setq arc (_arc point))
  13.      )
  14.    (vlax-curve-getEndPoint arc)
  15. )
  16. )

 
另外/或,查看LASPOINT变量。(getvar’LASTPOINT)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:31:05 | 显示全部楼层
或者,仅使用香草:
 
  1. (defun c:Test ( / point arc )
  2.    (if (and (setq point (getpoint "\nSpecify center point: "))
  3.             (setq arc (_arc point))
  4.             (setq arc (entget arc))
  5.        )
  6.        (polar
  7.            (cdr (assoc 10 arc))
  8.            (cdr (assoc 51 arc))
  9.            (cdr (assoc 40 arc))
  10.        )
  11.    )
  12. )

 
(使用Alan发布的“u arc”函数)
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-5 16:35:26 | 显示全部楼层
哈哈,我就知道你会来投递香草的方式。我想我不应该这么懒。
回复

使用道具 举报

9

主题

47

帖子

38

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 16:37:24 | 显示全部楼层
谢谢(getvar’lastpoint)工作得很好,也没有让我改变很多代码。
 
再次感谢。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-5 16:41:21 | 显示全部楼层
我会使用我发布的arc命令和李的提取方法(不需要VLA)-它更稳定/可靠。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:43:47 | 显示全部楼层
 
我们被曲线函数宠坏了
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-5 16:48:53 | 显示全部楼层
我完全同意。我知道如何用另一种方法得到它,但是vlax曲线*函数让我太懒了。
回复

使用道具 举报

9

主题

47

帖子

38

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 16:51:55 | 显示全部楼层
嗯,它不像我需要的那样工作。这是我的错,我没有解释我需要它如何工作。
 
选择startpoint。(已定义为选定对象的插入点)。
 
然后选择中点。
 
然后选择端点。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-5 16:56:07 | 显示全部楼层
好的,您的原始代码有“cent”,所以我假设您想从曲线的中心开始。你提供的信息越多,你收到的结果就越好,别人花在帮助你上的时间也就越少。 
  1. 3
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:08 , Processed in 0.423344 second(s), 72 queries .

© 2020-2025 乐筑天下

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