乐筑天下

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

[编程交流] Why will this (getvar 'di

[复制链接]

9

主题

21

帖子

12

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 07:16:47 | 显示全部楼层 |阅读模式
This works just fine on the other computers but the 2 computers running windows 7 won't work. It's supposed to reat 1" = 20' when ran but it reads 1" = ' on the computers running 7
 
  1. (defun c:dsc ()(setq DS (rtos (getvar 'dimscale)))(setq dwg-SCALE (substr DS 1 (- (strlen DS) 5)))(SETQ DTE (STRCAT "1" = " DWG-SCALE "'")) (if   (and (not          (eq (setq OldTxt "Scale") "")        )        (not          (eq (setq NewTxt dte) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) ))
回复

使用道具 举报

9

主题

21

帖子

12

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 07:45:04 | 显示全部楼层
It actually works with 1" = 20' but not any other. i.e. 1" = 30'
回复

使用道具 举报

9

主题

21

帖子

12

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 07:54:32 | 显示全部楼层
Ok so for some reason, when the dimscale is set at 20, everything works fine but when it's set to any other, 30, 40, 50, 60, 100, 200, I had to change the code from 5 - 3
 
  1. (setq dwg-SCALE (substr DS 1 (- (strlen DS) 5)))
 
changed to
 
  1. (setq dwg-SCALE (substr DS 1 (- (strlen DS) 3)))
 
what a beating. so now I have to have 2 commands to do the same thing. If you're using dimscale 20 then this if you're using dimscale 30, 40, 50, 60, 100 or 200, then another
 
here's my entire code
 
  1. ;INFO(DEFUN C:INFO ()(command ".osnap" "NOD,end,INT,CEN,mid")(SETQ CL (GETVAR "CLAYER"))(COMMAND "LAYER" "S" "LEGAL" "")(setq me (getstring t "\nDrawn By: ")) (if   (and (not          (eq (setq OldTxt "Drawn By") "")        )        (not          (eq (setq NewTxt me) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) )(setq DS (rtos (getvar 'dimscale)))(setq dwg-SCALE (substr DS 1 (- (strlen DS) 5)))(SETQ DTE (STRCAT "1" = " DWG-SCALE "'")) (if   (and (not          (eq (setq OldTxt "Scale") "")        )        (not          (eq (setq NewTxt dte) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) )    (setq d (rtos (getvar "CDATE") 2 6)         yr (substr d 3 2)         mo (substr d 5 2)        day (substr d 7 2)    )(SETQ DTE (STRCAT MO "/" DAY "/" YR)) (if   (and (not          (eq (setq OldTxt "Date") "")        )        (not          (eq (setq NewTxt dte) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) )(setq GFN (getstring t "\nType the GF Number: ")) (if   (and (not          (eq (setq OldTxt "GF#") "")        )        (not          (eq (setq NewTxt gfn) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) )(setq dwg-name (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (if   (and (not          (eq (setq OldTxt "Job#") "")        )        (not          (eq (setq NewTxt dwg-name) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) ) (princ))
回复

使用道具 举报

9

主题

21

帖子

12

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 08:06:08 | 显示全部楼层
Ok so I'm working through this all by myself haha. I just added the code to look for the 1" = ' and replace also. Good talk guys. Good talk!
 
  1. (setq DS (rtos (getvar 'dimscale)))(setq dwg-SCALE (substr DS 1 (- (strlen DS) 5)))(SETQ DTE (STRCAT "1" = " DWG-SCALE "'")) (if   (and (not          (eq (setq OldTxt "Scale") "")        )        (not          (eq (setq NewTxt dte) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) )(setq DS7 (rtos (getvar 'dimscale)))(setq dwg-SCALE (substr DS7 1 (- (strlen DS) 3)))(SETQ DTE (STRCAT "1" = " DWG-SCALE "'")) (if   (and (not          (eq (setq OldTxt "1" = '") "")        )        (not          (eq (setq NewTxt dte) "")        )   )    (if (setq ss (ssget "x"                        (list '(0 . "TEXT,MTEXT")                              (cons 1 OldTxt)                              (cons 410 (getvar 'ctab))                        )                 )        )      (repeat (setq in (sslength ss))        (setq en (entget (ssname ss (setq in (1- in)))))        (entmod (subst (cons 1 Newtxt) (assoc 1 en) en))      )    ) )
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 08:30:25 | 显示全部楼层
Sometimes it is the best way to solve a problem.
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 09:56 , Processed in 0.415975 second(s), 62 queries .

© 2020-2025 乐筑天下

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