明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1054|回复: 5

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

[复制链接]
发表于 2019-4-23 10:39 | 显示全部楼层 |阅读模式
;一下代码运行到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))

发表于 2019-4-23 11:46 | 显示全部楼层
本帖最后由 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))
 楼主| 发表于 2019-4-26 08:56 | 显示全部楼层
start4444 发表于 2019-4-23 11:46
(defun c:mjsc()
(setvar "cmdecho" 0)
(setq nn (entsel "\n 选择对象:"))

怎么选取符合面积缩放的对象呢,选取直线等不含面积属性的会出错
发表于 2019-5-19 19:51 | 显示全部楼层
zgs378530220 发表于 2019-4-26 08:56
怎么选取符合面积缩放的对象呢,选取直线等不含面积属性的会出错

做个选择语句ssget,只选封闭多段线就可以了,谢谢。
发表于 2021-6-22 06:15 | 显示全部楼层
请问 上面的按照面积缩放,我只想让Y轴方向缩放,X轴尺寸不变,怎么调?
发表于 2021-6-22 23:36 | 显示全部楼层
zmzk 发表于 2021-6-22 06:15
请问 上面的按照面积缩放,我只想让Y轴方向缩放,X轴尺寸不变,怎么调?

做成块儿就可以了   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-19 01:10 , Processed in 0.188332 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表