(XD::DIM:Group)尺寸标注实体分组
本帖最后由 Lispboy 于 2016-6-17 20:58 编辑1.模式0:
2.模式1:
3:模式2:
**** Hidden Message *****
上面动图的该函数使用示例
测试工具:
(defun c:tt ()
(defun _draw (el)
(mapcar
'(lambda (x)
(setq p (xd::dim:basePoints (car x))
v (xdrx_vector_normalize (mapcar
'-
(cadr p)
(car p)
)
)
)
(xdrx_grdraw (setq clr (xdrx_math_rand 1 7))
0 (xd::pnts:close (xdrx_entity_box x v))
)
)
el
)
)
(if (and
(setq mod (getint "\n模式:"))
(setq ss (ssget "x" '((0 . "dim*"))))
)
(progn
(redraw)
(if te
(xdrx_entity_delete te)
)
(setq el (xd::dim:group ss mod) box (xd::geom:get9pt ss 6))
(xd::text:init 2)
(setq te (xdrx_text_make box (strcat "模式" (itoa mod) ":") 15 0))
(xdrx_setpropertyvalue te "widthfactor" 0.8 "color" 1)
(cond
((= mod 0)
(_draw el)
)
((= 1 mod)
(_draw (mapcar '(lambda(x)(apply 'append x)) el))
)
((= 2 mod)
(setq a (mapcar '(lambda(x)(mapcar '(lambda(y)(apply 'append y)) x)) el))
(mapcar '(lambda(x)(_draw x)) a)
)
)
)
)
(princ)
) 同一排有容差值吗? liuyj 发表于 2016-6-17 13:44
同一排有容差值吗?
同一排设容差没意义吧? 同一排怎么算呢?如果竖向上差了一点,还能不能算一排? liuyj 发表于 2016-6-17 14:06
同一排怎么算呢?如果竖向上差了一点,还能不能算一排?
这个函数主要的找 “相连”, 画尺寸的时候都用dimcontinue , 能有 “竖向”差了一点点的标注吗? liuyj 发表于 2016-6-17 14:06
同一排怎么算呢?如果竖向上差了一点,还能不能算一排?
修改了代码,支持了容差
距离容差读取(car (xdrx_document_getprec))设置
学习了,太厉害了
模式:0
原因:无效的数据类型或数据溢出: #<SUBR @000000003369e278 TE> 位置-> 行:189 列:10
命令:
不知道是什么原因 不能分组,只能画出方框,但是并没有成组啊 天若有情007 发表于 2016-6-26 15:37
不能分组,只能画出方框,但是并没有成组啊
你用的 测试工具 的代码?方框对吗?就是根据分组的数据画的。方框对了,分组就对了。 Lispboy 发表于 2016-6-26 16:03
你用的 测试工具 的代码?方框对吗?就是根据分组的数据画的。方框对了,分组就对了。
但是没有成组,就是GROUP成组,应该一个方框内的是一个group组才对啊
天若有情007 发表于 2016-6-26 16:05
但是没有成组,就是GROUP成组,应该一个方框内的是一个group组才对啊
这里提供的是函数,不是插件。 函数说的分组,不是你理解的GROUP,是实体表。你想在分组,再写自己的代码。就像测试工具,把分好组的基础上画出框。
Lispboy 发表于 2016-6-26 16:35
这里提供的是函数,不是插件。 函数说的分组,不是你理解的GROUP,是实体表。你想在分组,再写自己的代码 ...
多谢。
同一排设容差没意义吧?