乐筑天下

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

[编程交流] 无论如何,要有GETREAL/RTOS pr

[复制链接]

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 08:54:27 | 显示全部楼层 |阅读模式
大家好,
 
我有一个attedit例程,你们中的一些人以前可能见过,我唯一的问题是它会将一个输入舍入到用LUPREC系统变量设置的小数位数。
 
我想告诉我的例程忽略LUPREC设置,并使用与用户输入完全相同的值。
 
  1. (DEFUN C:ssc ()
  2. (setq ocmd (getvar "CMDECHO"))
  3. (prompt "\nSelect Title Block, Mark and Material List to be re-scaled... ")
  4. (COMMAND "ucs" "w")
  5. (setq sscpt1 '(0 0 0))
  6. (setq sscsset1 (ssget))
  7. (setq ss (ssget "X" (list (cons 0 "insert")(cons 2 "pdctitle"))))
  8. (setq ename (ssname ss 0))
  9. (setq data (entget ename))
  10. (setq ssccs (cdr (assoc 41 data)))
  11. [b] (SETQ sscds (getREAL "\nEnter Desired Scale : "))[/b]
  12. (COMMAND "scale" sscsset1 "" sscpt1 (/ sscds ssccs))
  13. (COMMAND "dimscale" sscds)
  14. (COMMAND "ltscale" (* sscds 10))
  15. (COMMAND "-style" "PDC_Prosteel" "isocp.shx" (* sscds 3.5) "1" "0" "NO" "NO")
  16. (setq ssctso (strcat "1:"(rtos ssccs)))
  17. [b] (setq ssctsn (strcat "1:"(RTOS sscds)))[/b]
  18. (COMMAND "ZOOM" "EXTENTS")
  19. (setq pt1 '( -500000000 -500000000 0))
  20. (setq pt2 '( 500000000 500000000 0))
  21. [b] (COMMAND "-attedit" "y" "pdctitle" "pdcSCALE" "" "w" PT1 PT2 "V" "r"  ssctsn "")[/b]
  22. (COMMAND "graphscr")
  23. (COMMAND "ZOOM" "p")
  24. (setvar "CMDECHO" ocmd)
  25. (alert "Please remember to check/adjust SCALE value in Title Block")
  26. (princ)
  27. )

 
这是缩放图纸的常规操作,我已经用粗体标记了我认为相关的线。
 
例程要求用户输入他们想要的DRG图纸比例,用户输入所需比例,然后例程将相应地缩放图纸,并更新属性标题栏中的“比例”字段。
 
问题是-如果LUPREC设置为零(0)-标题栏中只显示整数。如果用户需要1:12.5的比例,则显示为1:13(LUPREC为0)。
 
如果LUPREC设置为1(或更大)-标题栏中的结果将以小数位显示(即使输入了整数/整数)。1: 10显示为1:10.0。
 
谢谢你们的帮助。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:03:45 | 显示全部楼层
我有三个选择:
 
1、合并LUPREC变量更改和错误检查。
 
2.使用GETSTRING代替GETREAL,然后将字符串转换为实数,以获得精确的缩放值。
 
3.使用GETKWORD将用户降级到预定义的比例选项。
 
希望这有帮助!
 
编辑:本地化变量:wink:
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:09:11 | 显示全部楼层
感谢RenderMan的快速回复。
 
谢谢你给我的所有建议——我对LISP还是很陌生,所以我总是在学习应该做的事和不应该做的事。
 
我曾想过使用GETSTRING,然后将SRING转换为REAL,但在谷歌搜索了几分钟后,我找不到合适的函数。然后我在这里偶然发现了一条旧线索,找到了阿托夫。
 
再次感谢你的帮助。我会告诉你我怎么走的。
 
干杯
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:18:45 | 显示全部楼层
别担心;我们都从某个地方开始。。。有时,我们所需要的只是朝着正确的方向轻轻推一推眨眼:
 
干杯
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:27:00 | 显示全部楼层
我有一本12版Autolisp程序员参考手册《我的圣经》,可以快速查找,但我想看看“帮助”电子版,翻页有点困难。
 
发现你可以得到一个摘要列表非常简单的内容,选择自定义指南,Autolisp,Autolisp参考和一个a-Z列表出现你可以做两件事选择一个字母字符并查看命令摘要或在右上角有一个这些将一次一个,并为每个命令提供更多信息,^把你带到字母树上去,这有点笨拙,但有时你知道这个命令,只是打字不正确。跳转页面的速度相当快。搜索unfortunatley可以为“string real”返回20个解
 
VLIDE显然也有帮助。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:34:25 | 显示全部楼层
非常感谢BigAl的小费。我同意有时候翻阅页面会更容易一些。但这个参考列表将非常有用(同样适用于我不知道存在的学习函数)。
 
猫队上周取得了一场相当不错的胜利。。。我希望他们能继续保持这种状态进入决赛。
 
再次感谢各位。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:40:46 | 显示全部楼层
我通常使用旧的2008帮助,而不是在线/离线帮助。这几乎是同一件事,它只是反应更灵敏&如果你从ACad help本身(而不是从VLIDE内部)启动搜索,它实际上可以工作-不同于新帮助系统上无用的搜索(最好使用谷歌在其上搜索)。与新的帮助系统不同的是,您仍然需要查看ActiveX引用—请尝试了解类似BoundingBox方法的东西在没有它的情况下是如何工作的!
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:43:51 | 显示全部楼层
不久前写了这个,就是为了这个目的:眨眼:
 
  1. (defun c:LISPDD () (c:LISPDeveloperDocumentation))
  2. (defun c:LISPDeveloperDocumentation  ()
  3. (princ "\rLISP DEVELOPER DOCUMENTATION ")
  4. (vl-load-com)
  5. ((lambda (vrsn)
  6.     (help
  7.       (strcat
  8.         "acad_dev"
  9.         (cond
  10.           ((vl-string-search "16.2" vrsn) "162")                       ; 2006
  11.           ((vl-string-search "17.0" vrsn) "170")                       ; 2007
  12.           ((vl-string-search "17.1" vrsn) "171")                       ; 2008
  13.           ((vl-string-search "17.2" vrsn) "172")                       ; 2009
  14.           ((vl-string-search "18.0" vrsn) "180")                       ; 2010
  15.           ((vl-string-search "18.1" vrsn) "181")                       ; 2011
  16.           ((vl-string-search "18.2" vrsn) "182")))))                   ; 2012
  17.    (vlax-product-key))
  18. (princ))
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:50:17 | 显示全部楼层
大家好,
 
我知道已经有一段时间了,我只是想让大家知道,我终于开始修改例程了——使用字符串输入,然后使用ATOF。
 
现在效果很好-正是我需要的。
 
再次感谢。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:55:38 | 显示全部楼层
感谢您的跟进,祝贺您!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 06:13 , Processed in 0.687610 second(s), 72 queries .

© 2020-2025 乐筑天下

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