乐筑天下

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

[编程交流] 这个宏有什么问题?

[复制链接]

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 16:10:04 | 显示全部楼层 |阅读模式
我创建了一个CUI宏来绘制revcloud
  1. ^C^Cpline;revcloud;arc;500;500;object;last;;

 
宏绘制pline,不应用revcloud命令
回复

使用道具 举报

3

主题

16

帖子

13

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 16:19:07 | 显示全部楼层
你需要“普林”吗?
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 16:25:36 | 显示全部楼层
我正在为我工作的公司创建一个CUI
我想要的是,用户绘制线(pline),然后将这些线转换为revcloud。
 
我想使用弧长作为所有用户的标准。
 
有什么建议吗
171013bq9g2xpbdkg6xx90.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 16:30:44 | 显示全部楼层
从多段线构建云线时,多段线必须闭合。我有两分钟的时间,所以这个Lisp程序将完成同样的事情:
 
  1. ; Polyline Revcloud by Lee McDonnell 21/12/2008
  2. (defun c:prev (/ *error* l1 l2)
  3.    (defun *error* (msg)
  4.    (setvar "cmdecho" 1)
  5.    (if (= msg "")
  6.        (princ "\nFunction Complete.")
  7.        (princ "\nError or Esc Pressed!")
  8.    ) ;_  end if
  9.    (princ)
  10.    ) ;_  end defun
  11.    (setvar "cmdecho" 0)
  12.    (prompt "\nConstruct Polyline.")
  13.    (command "_pline")
  14.    (while (> (getvar "cmdactive") 0) (command pause))
  15.    (setq l1 (entlast))
  16.    (command "_pedit" l1 "c" "")
  17.    (setq l2 (entlast))
  18.    (prompt "\nReverse Cloud Direction? [Yes/No]: ")
  19.    (command "_revcloud" "o" l2 pause)
  20.    (*error* "")
  21.    (princ)
  22. ) ;_  end defun
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 16:34:43 | 显示全部楼层
这是不是意味着,我不能使用宏?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 16:42:23 | 显示全部楼层
好吧,让我们只说,使用宏来完成相同的任务会很尴尬,因为宏必须确保在执行到rev云的转换之前闭合多段线-我个人会选择LISP。
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 16:51:45 | 显示全部楼层
就我个人而言,我喜欢LISP,但当处理60多台电脑时,我会将LISP加载到所有这些电脑上。
在这种情况下,我更喜欢制作CUI按钮(菜单在服务器上共享)
 
我们可以用它来确保pline是闭合的
 
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 16:56:31 | 显示全部楼层
好的,没问题-只是给你提供了另一个选择。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 17:03:51 | 显示全部楼层
可能对于现有多段线:
 
  1. ; Polyline Rev-cloud by Lee McDonnell (Polyline Selection) - 21/12/2008
  2. (defun c:prev2 (/ *error* ent ent1)
  3.    (defun *error* (msg)
  4.    (setvar "cmdecho" 1)
  5.    (if (= msg "")
  6.        (princ "\nFunction Complete.")
  7.        (princ "\nError or Esc Pressed!")
  8.    ) ;_  end if
  9.    (princ)
  10.    ) ;_  end defun
  11.    (setvar "cmdecho" 0)
  12.    (while
  13.    (setq ent (entsel "\nSelect Polyline: "))
  14.       (command "_pedit" ent "c" "")
  15.       (setq ent1 (entlast))
  16.       (prompt "\nReverse Direction of Cloud? [Yes/No] <No> : ")
  17.       (command "_revcloud" "O" ent1 pause)
  18.    ) ;_  end while
  19.    (*error* "")
  20.    (princ)
  21. ) ;_  end defun

 
(有点得意忘形)
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 17:04:36 | 显示全部楼层
李先生
你怎么写LISP?
使用记事本,还是什么?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 19:18 , Processed in 0.327544 second(s), 74 queries .

© 2020-2025 乐筑天下

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