《菜鸟提问》 无法计算自交曲线的面积怎么实现alert提示?
本帖最后由 HGHG011 于 2015-1-12 17:05 编辑(defun qmj ( ss / )
(command "area" "o" ss )
(setq area (HH:rtosr1 (/ (getvar "area") 1000000.0) 2))
(setq area (atof area))
)
(defun HH:rtosr1 (RealNum n / DIMZIN1 SHORTREAL1)
(setq DimZin1 (getvar "DIMZIN"))
(setvar "DIMZIN" 0)
(setq ShortReal1 (rtos RealNum 2 n))
(setvar "DIMZIN" DimZin1)
ShortReal1
)
当运行上面函数的时候,选中自交曲线计算面积会出现错误
在命令行中 出现“无法计算自交曲线的面积”
能否实现cad弹出对话框来进行提示,以免使用错误数据进行计算? (qmj (setq ss(entsel)))
(defun qmj (ss / area ent typ ent )
(setq ent (entget (car ss))
typ (cdr(assoc 0 ent)))
(if (or (equal typ "LWPOLYLINE")
(equal typ "CIRCLE")
(equal typ "REGION"))
(progn
(command "area" "o" ss )
(setq area (HH:rtosr1 (/ (getvar "area") 1000000.0) 2) )
(setq area (atof area))
)
(alert "\n无法计算自交曲线的面积" )
);end if
);end defun
(defun HH:rtosr1 (RealNum n / DIMZIN1 SHORTREAL1)
(setq DimZin1 (getvar "DIMZIN"));;消零
(setvar "DIMZIN" 0);;消除零英尺和零英寸
(setq ShortReal1 (rtos RealNum 2 n))
(setvar "DIMZIN" DimZin1)
ShortReal1
)
是表述得不清晰,还是没有办法解决啊,来个人说句话啊 提供一种思路,读取命令行的文字 “无法计算自交曲线的面积” 来判断出现错误
不知能否这样实现,求命令,求方法 (if (cx-qxzj en)
(alert "曲线自交.无法计算")
)
话说这个函数论坛有很多, 尝试调用vl-catch-all-apply函数,选择一个自交曲线判断其错误代码数值,然后根据这一数值为判断依据再alert mmmmmm 发表于 2015-1-12 14:23 static/image/common/back.gif
尝试调用vl-catch-all-apply函数,选择一个自交曲线判断其错误代码数值,然后根据这一数值为判断依据再aler ...
貌似不行,不会搞,不过谢谢你 LPACMQ 发表于 2015-1-10 21:19 static/image/common/back.gif
(qmj (setq ss(entsel)))
(defun qmj (ss / area ent typ ent )
所谓的自交曲线不一定是曲线,我是用pl命令绘制的多段线,多段线上有重叠的点而已,所以你这种方法不行 鱼与熊掌 发表于 2015-1-10 17:56 static/image/common/back.gif
(if (cx-qxzj en)
(alert "曲线自交.无法计算")
)
这个if函数我也会啊,不过得看怎么执行啊 (setq cv (getvar "Lastprompt"))
(print cv)
(if ( = cv "无法计算自交曲线的面积。")
(alert "\n无法计算自交曲线的面积" )
)
最后通过这种方法解决,谢谢大家的帮忙
页:
[1]