k1nger 发表于 2011-10-8 16:55:17

刷图形的比例

本帖最后由 k1nger 于 2011-10-27 11:51 编辑

(defun C:sbl()
(setvar "cmdecho" 0)
(setq a1 (entsel "\n 请选择源对像"))
(setq a2 (entsel "\n请选择目标对像"))
(command ".LENGTHEN" (car a1) "")
(setq a1l (getvar "PERIMETER"))
(command ".LENGTHEN" (car a2) "")
(setq a2l (getvar "PERIMETER"))
(setq a (/ a1l a2l))
;a1对像的长度:a2对像的长度
(command "scale" a2 0,0 a);将a2的值赋给比例因子
)

无法将a2的值赋给scale这个命令,求修改!!!

正常功能在5楼!!

yshf 发表于 2011-10-8 17:42:46

改为如下:
(defun C:sbl()
(setvar "cmdecho" 0)
(setq a1 (entsel "\n 请选择源对像"))
(setq a2 (entsel "\n请选择目标对像"))
(command ".LENGTHEN" (car a1) "")
(setq a1l (getvar "PERIMETER"))
(command ".LENGTHEN" (car a2) "")
(setq a2l (getvar "PERIMETER"))
(setq a (/ a1l a2l))
;a1对像的长度:a2对像的长度
(command "scale" (car a2) "" (cadr a2) a);将a2的值赋给比例因子
)

k1nger 发表于 2011-10-22 16:40:54

yshf 发表于 2011-10-8 17:42 static/image/common/back.gif
改为如下:

谢谢,明白了,没有将字符串转成数值型,呵呵!

k1nger 发表于 2011-10-23 11:53:43

yshf 发表于 2011-10-8 17:42 static/image/common/back.gif
改为如下:

能不能帮忙继续改进一下这个程序,要实现的目的,最后缩放的对像不只是一个,可以多选,也可以连续缩放!

k1nger 发表于 2011-10-27 11:41:14

k1nger 发表于 2011-10-23 11:53 static/image/common/back.gif
能不能帮忙继续改进一下这个程序,要实现的目的,最后缩放的对像不只是一个,可以多选,也可以连续缩放!

这是我自己查了一下资料后又修改的:功能实现了,拿出来和大家共享一下成果:
(defun C:sbl()
(setvar "cmdecho" 0)
(setq a1 (entsel "\n 请选择源对像"))
(setq a2 (entsel "\n 请选择目标对像"))
(command ".LENGTHEN" (car a1) "")
(setq a1l (getvar "PERIMETER"))
(command ".LENGTHEN" (car a2) "")
(setq a2l (getvar "PERIMETER"))
(setq a (/ a1l a2l))
;a1对像的长度:a2对像的长度
(command "scale" (ssget) "" (cadr a2) a);将a2的值赋给比例因子
)

669423907 发表于 2012-6-8 14:22:01

谢谢楼主分享,谢谢 yshf分享!

功夫佬 发表于 2012-6-8 17:37:09

同道中人,多谢分享

LIULISHENG 发表于 2020-1-28 01:47:06

很不错支持一下

偶尔郁闷 发表于 2020-8-12 11:12:21

08好用 2021不好用为啥?
页: [1]
查看完整版本: 刷图形的比例