另外,事实上"A123.4Bc"也符合过滤条件(1 . "**"),也就是说想选中全数值文本得用别的过滤条件或者 ...
(1 . "*")?? 本帖最后由 llsheng_73 于 2015-8-11 10:17 编辑
树櫴希德 发表于 2015-8-11 09:52 http://bbs.mjtd.com/static/image/common/back.gif
(1 . "*")??
自己试下就知道了,反正很多种过滤的写法我差不多都试过,好象实际上做不到
好象最终只有"~*[~.0-9]*" 能真正过滤出来,但也无法过滤掉"12.13.14"这种多于两个小数点符号的文本 帮顶!!!! 有更新吗?楼主?
那个大神能 把下图中,选中的多段线范围内边面积求出,那就厉害了。
CASS自带有表面积计算功能,处理的方法是下图多段线内在生成很多小三角,再计算面积。
我们编程可以用海伦公式计算单个三角的面积,累计也行。
编程用comand 命令调用CASS的表面功能,只能循环4次,批量处理超过4次就现在了使用。 选择节点少于3个的三维多段线
(defun vxs (e / i v lst)
(setq i 0)
(while
(setq v (vlax-curve-getpointatparam e (setq i (1+ i))))
(setq lst (cons v lst))
)
(reverse lst))
;;;;;;;;;;;;;;;
(defun c:xz11 (/ kk lst i ent pts len)
(setq lst (ssget '( (0 . "polyline") (8 . "0,sjw")) ) )
(setq i 0)
(setq kk (ssadd))
(while(< i (sslength lst))
(setq ent (ssname lst i))
(setq pts (vxs ent))
(setq len (length pts))
(if (< len 3) (ssadd ent kk)) ;;;选择节点少于3个的三维多段线
(setq i (+ i 1))
)
(sssetfirst nil kk)
)
页:
1
[2]