马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
microstationV8.0转换CAD时,线宽不能转换过去,本人写了一段代码,在14下可以变换,共享。望大家提出批评意见!代码如下: - [php]
- ////////////////////////////////////
- (defun ch1()
- (setq ss (ssget "x" (list (cons 0 "LWPOLYLINE"))))
- (if ss
- (progn
- (princ "\nPlease wait...")
- (setq n 0 m (sslength ss))
-
- (while (< n m)
- (setq entname (ssname ss n))
- (setq enttbl (entget entname))
- (princ "\n")
- (setq w1 (cdr(assoc 40 enttbl)))
- (setq w2 (cdr (assoc 41 enttbl)))
- (setq lw (cdr (assoc 370 enttbl)))
- (if (not (= lw -3.0))
- (progn
- (setq w1 (/ lw 100.000))
- (setq w2 (/ lw 100.000))
- (setq lw -3)
- (setq enttbl (subst (cons 370 lw) (assoc 370 enttbl ) enttbl ))
- ;(setq enttbl (subst (cons 40 w1) (assoc 40 enttbl ) enttbl ))
- ;(setq enttbl (subst (cons 41 w2) (assoc 41 enttbl ) enttbl ))
- (princ "\n")
- (entmod enttbl)
- (entupd entname)
- (command "pedit" entname "w" w1 "")
- )
- )
- (setq n (+ 1 n))
- )
- )
- )
- )
- (defun ch2()
- (setq ss (ssget "x" (list (cons 0 "LINE"))))
- (if ss
- (progn
- (princ "\nPlease wait...")
- (setq n 0 m (sslength ss))
-
- (while (< n m)
- (setq entname (ssname ss n))
- (setq enttbl (entget entname))
- (princ "\n")
- (setq w1 (cdr(assoc 40 enttbl)))
- (setq w2 (cdr (assoc 41 enttbl)))
- (setq lw (cdr (assoc 370 enttbl)))
- (if (not (= lw -3.0))
- (progn
- (setq w1 (/ lw 100.000))
- (setq w2 (/ lw 100.000))
- (setq lw -3)
- (setq enttbl (subst (cons 370 lw) (assoc 370 enttbl ) enttbl ))
- (princ "\n")
- (entmod enttbl)
- (entupd entname)
- (command "pedit" entname "y" "w" w1 "")
- )
- )
- (setq n (+ 1 n))
- )
- )
- )
- (princ)
- )
- (defun c:ch()
- (ch1)
- (ch2)
- (princ "ch:")
- (prompt "本程序用lineweight属性项和width属性项值的改变!")
- (prompt "数据处理完后请检查数据如有问题,请与研发中心联系!029--87862695")
- (prompt "---田江博2003.12.10")
- (princ)
- )
- ////////////////////////////////////[/php]
|