zgs378530220 发表于 2019-4-23 10:39:59

图形按给定的面积缩放,源代码

;一下代码运行到commang显示错误取消,不知道怎么修改,有高手请教一下,该怎么改
;不规则图形按面积缩放
(defun c:mjsc()
(setvar "cmdecho" 0)
(setq nn (entsel "\n 选择对象:"))
(setq ea (car nn))
(setq ed (nth 1 nn))
(setq prarea (vlax-curve-getArea ea))
(setq tempobj (getreal "\n 需求面积值:"))
(setq scen (sqrt (/ tempobj prarea)))
(command "_scale" ea ed scen)
(prin1))

start4444 发表于 2019-4-23 11:46:20

本帖最后由 start4444 于 2019-4-23 11:48 编辑

(defun c:mjsc()
(setvar "cmdecho" 0)
(setq nn (entsel "\n 选择对象:"))
(setq ea (car nn))
(setq prarea (vlax-curve-getArea ea))
(setq tempobj (getreal (strcat "\n [当前面积:" (rtos (/ prarea 1000000) 2 3) " m2]=>需求面积值:")))
(command "_scale" ea "" "non" (cadr nn)(sqrt (/ tempobj (/ prarea 1000000))))
(princ))

zgs378530220 发表于 2019-4-26 08:56:00

start4444 发表于 2019-4-23 11:46
(defun c:mjsc()
(setvar "cmdecho" 0)
(setq nn (entsel "\n 选择对象:"))


怎么选取符合面积缩放的对象呢,选取直线等不含面积属性的会出错

cad890 发表于 2019-5-19 19:51:50

zgs378530220 发表于 2019-4-26 08:56
怎么选取符合面积缩放的对象呢,选取直线等不含面积属性的会出错

做个选择语句ssget,只选封闭多段线就可以了,谢谢。

zmzk 发表于 2021-6-22 06:15:28

请问 上面的按照面积缩放,我只想让Y轴方向缩放,X轴尺寸不变,怎么调?

guosheyang 发表于 2021-6-22 23:36:26

zmzk 发表于 2021-6-22 06:15
请问 上面的按照面积缩放,我只想让Y轴方向缩放,X轴尺寸不变,怎么调?

做成块儿就可以了   
页: [1]
查看完整版本: 图形按给定的面积缩放,源代码