大家好,
我有一个attedit例程,你们中的一些人以前可能见过,我唯一的问题是它会将一个输入舍入到用LUPREC系统变量设置的小数位数。
我想告诉我的例程忽略LUPREC设置,并使用与用户输入完全相同的值。
- (DEFUN C:ssc ()
- (setq ocmd (getvar "CMDECHO"))
- (prompt "\nSelect Title Block, Mark and Material List to be re-scaled... ")
- (COMMAND "ucs" "w")
- (setq sscpt1 '(0 0 0))
- (setq sscsset1 (ssget))
- (setq ss (ssget "X" (list (cons 0 "insert")(cons 2 "pdctitle"))))
- (setq ename (ssname ss 0))
- (setq data (entget ename))
- (setq ssccs (cdr (assoc 41 data)))
- [b] (SETQ sscds (getREAL "\nEnter Desired Scale : "))[/b]
- (COMMAND "scale" sscsset1 "" sscpt1 (/ sscds ssccs))
- (COMMAND "dimscale" sscds)
- (COMMAND "ltscale" (* sscds 10))
- (COMMAND "-style" "PDC_Prosteel" "isocp.shx" (* sscds 3.5) "1" "0" "NO" "NO")
- (setq ssctso (strcat "1:"(rtos ssccs)))
- [b] (setq ssctsn (strcat "1:"(RTOS sscds)))[/b]
- (COMMAND "ZOOM" "EXTENTS")
- (setq pt1 '( -500000000 -500000000 0))
- (setq pt2 '( 500000000 500000000 0))
- [b] (COMMAND "-attedit" "y" "pdctitle" "pdcSCALE" "" "w" PT1 PT2 "V" "r" ssctsn "")[/b]
- (COMMAND "graphscr")
- (COMMAND "ZOOM" "p")
- (setvar "CMDECHO" ocmd)
- (alert "Please remember to check/adjust SCALE value in Title Block")
- (princ)
- )
这是缩放图纸的常规操作,我已经用粗体标记了我认为相关的线。
例程要求用户输入他们想要的DRG图纸比例,用户输入所需比例,然后例程将相应地缩放图纸,并更新属性标题栏中的“比例”字段。
问题是-如果LUPREC设置为零(0)-标题栏中只显示整数。如果用户需要1:12.5的比例,则显示为1:13(LUPREC为0)。
如果LUPREC设置为1(或更大)-标题栏中的结果将以小数位显示(即使输入了整数/整数)。1: 10显示为1:10.0。
谢谢你们的帮助。 |