乐筑天下

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

[LISP]关于这个LISP

[复制链接]

43

主题

152

帖子

6

银币

后起之秀

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

铜币
324
发表于 2004-8-5 09:23:00 | 显示全部楼层 |阅读模式
(setq #dim_sc 100)
(defun c:qt (/ dimobj oldDimscale newDimscale)
(setvar "cmdecho" 0)
(command "_.undo" "be")
(setq dim_sc_old (getvar "dimscale"))
(princ "\n调整尺寸全局比例!")
(setq ss (ssget '((0 . "DIMENSION"))))
(setq dim_sc (getint (strcat "\n请输入尺寸全局比例:")))
(setq #dim_sc (if (= dim_sc nil) #dim_sc dim_sc))
(setq newDimscale (/ (float #dim_sc) (float 100)))
         (vl-load-com)
         (setq num (sslength ss) ee 0)
         (while (vla-object nam)
                         oldDimscale (vla-get-ScaleFactor dimobj))
         (if (and (/= nil newDimscale) (/= oldDimscale newDimscale))
                         (vla-put-ScaleFactor dimobj newDimscale))
         (setq ee (1+ ee))
         );end while
(setvar "dimscale" dim_sc_old)
(command "_.undo" "e")
(setvar "cmdecho" 1)
(princ))
(princ "\n输入qt,调整尺寸出图比例!")
这是一个改尺寸全局比例(dimscale)的LISP,我不会vlisp,现在急求大侠仿这个改一个尺寸比例(DIMLFAC)的LISP。或者是仿下面这个(看看有没有问题,好像有时候不能运行)
(defun c:ttt (/ el oldDimscale newDimscale xdata)
         (setq el (entget (car (entsel "\n选择尺寸:")) '("ACAD")))
         (setq                         oldDimscale
                                 (cdr (assoc 1040 (setq xdata (cdadr (assoc -3 el))))))
         (princ "\n新的Dimscale : "))
         (if (and (/= nil newDimscale) (/= oldDimscale newDimscale))
                         (progn
                                         (setq
                         el
                                 (subst                         (cons -3
                                                                                                         (list
                                                                                         (cons "ACAD"
                                                                                                                                         (subst (cons 1040 newDimscale)
                                                                                                                                                                 (assoc 1040 xdata)
                                                                                                                                                                 xdata))))
                                                         (assoc -3 el)
                                                         el))
                                         (entmod el)
                                         )
                         )
         (princ)
         )
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-8-5 13:10:00 | 显示全部楼层
In the first routine:
Change all "DIMSCALE" to "DIMLFAC"
change all "ScaleFactor" to "LinearScaleFactor"
回复

使用道具 举报

43

主题

152

帖子

6

银币

后起之秀

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

铜币
324
发表于 2004-8-5 14:25:00 | 显示全部楼层
多谢alin。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-23 10:07 , Processed in 3.877994 second(s), 59 queries .

© 2020-2025 乐筑天下

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