乐筑天下

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

[编程交流] 需要“IF”功能的帮助o

[复制链接]

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-5 23:52:57 | 显示全部楼层
嗨,克林特,
 
此变量*REVCLOUDMAXARCLENGTH在2008版本中不可用。我在谷歌上搜索了一下,发现它是2013年的版本。
 
只是好奇而已。如果这个变量起作用,AutoCAD怎么知道我的第一个首选项是0.5(这个数字适用于大多数图形,这就是为什么我第一个选择0.5的原因)?我认为可能没有。你同意吗?
回复

使用道具 举报

1

主题

116

帖子

115

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:55:25 | 显示全部楼层
它存储在注册表中,因此其值将是您上次使用的值,即使是在另一个图形中。如果你通常使用0.5,那就是它的主要用途。明天我可以给你一个2008年的替代方案。
回复

使用道具 举报

1

主题

116

帖子

115

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:00:27 | 显示全部楼层
我快速浏览了一下,看看是否可以找到REVCLOUD的历史,以便了解在*REVCLOUDMAXARCLENGTH之前使用的内容,但没有成功。在没有更多信息的情况下,我使用了一个全局变量convcloudnew:arclength。
  1. (defun convcloudnew ( / al g i ss sse )
  2. (if (setq ss (ssget '((0 . "LINE,*POLYLINE,CIRCLE,ELLIPSE,SPLINE,ARC"))))
  3.    (progn
  4.      (repeat (setq i (sslength ss))
  5.        (setq sse (cons (cdr (entget (ssname ss (setq i (1- i))))) sse))
  6.        )
  7.      (if (null (setq al (getvar "*REVCLOUDMAXARCLENGTH")))
  8.        (if (or (numberp (setq al convcloudnew:arclength))
  9.                (setq al (* (getvar "DIMSCALE") 0.5))
  10.                )
  11.          (setq g T)
  12.          )
  13.        )
  14.      (while al
  15.        (command "_.erase" ss "")
  16.        (setq ss (ssadd))
  17.        (foreach x sse
  18.          (command "_.revcloud" "arc" al al "object" (entmakex x) "")
  19.          (ssadd (entlast) ss)
  20.          )
  21.        (if g (setq convcloudnew:arclength al))
  22.        (initget 6)
  23.        (setq al (getreal (strcat "\nSpecify a different arc length or ENTER to accept the current value < " (rtos al 2 2) " >: ")))
  24.        )
  25.      )
  26.    (princ "\nNo objects selected.")
  27.    )
  28. )

顺便说一句,我之所以使用DIMSCALE,是因为你建议使用它。您可以考虑将CANNOSCALEVALUE作为替代方案。
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 00:02:20 | 显示全部楼层
嗨,克林特,
 
您的代码可以完美地记住活动图形中最后使用的弧长,就像圆角和倒角如何存储最后使用的值一样。然而,我认为我使用“DIMSCALE”的逻辑并非万无一失。由于一些图形即使很大,也没有任何尺寸要求,因此没有人费心设置尺寸比例。在这种情况下,它无助于捕捉dimscale。因此,在对几个图形进行了一些尝试之后,我决定,无论图形的大小如何,也不管在模型空间或图纸空间中进行云处理,我都必须使用默认值0.5。
 
所以,我刚刚修改了这一行
  1. (setq al (* (getvar "DIMSCALE") 0.5))


  1. 6

 
这是可行的。你认为还有什么需要修改的吗?
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 00:06:49 | 显示全部楼层
嗨,克林特,
 
对我所做的有什么建议吗?
回复

使用道具 举报

1

主题

116

帖子

115

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:09:11 | 显示全部楼层
 
不是shailujp。只有你才能知道该函数将如何使用。如果您发现使用固定值效果最好,请坚持使用它。如果这是您(或其他起草人)经常做的事情,那么您(或起草人)将了解哪些值对不同的绘图比例最有效。
回复

使用道具 举报

24

主题

147

帖子

123

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-7-6 00:15:48 | 显示全部楼层
谢谢你,克林特,
 
我还没有将这个实用程序推广到主lisp中。我一直在等待你对我在几次测试后做的小改动的反馈。我将为我的团队进行测试模式设置,他们将使用大约一周左右,然后他们将提供反馈,如果他们发现任何问题或没有。
 
我真的很感谢你在这方面的帮助。
 
非常感谢。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:17 , Processed in 1.210784 second(s), 64 queries .

© 2020-2025 乐筑天下

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