马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 st788796 于 2016-2-23 17:38 编辑
- (defun c:tt (/ p1 p2 ss lst s)
- (if (and (setq p1 (getpoint "\nFirset Corner: "))
- (setq p2 (getcorner p1 "\nOrther Corner: "))
- (setq ss (ssget "C" p1 p2 '((0 . "insert"))))
- )
- (progn
- (setq lst
- (mapcar '(lambda (x / l ll)
- (setq l (xdrx_getpropertyvalue
- x
- "BlockTableRecord"
- "BlockTransform"
- );_获取块定义和 Insert 的变换矩阵
- ll (vl-remove-if
- '(lambda (a)
- (and
- (/=
- (xdrx_getpropertyvalue
- a
- "IsA"
- )
- "AcDbText"
- );_判断是否是需要类型
- (not
- (apply
- 'xdrx_point_isinside
- (list
- (xdrx_point_transform
- (xdrx_getpropertyvalue
- a
- "Position"
- )
- p1
- p2
- )
- )
- );_条件筛选
- )
- )
- )
- (xdrx_getpropertyvalue
- (cadar l)
- "allEntities"
- );_块定义内所有实体
- )
- )
- (if ll
- (progn
- (xdrx_entity_setcolor
- (xdrx_entity_transformedcopy ll (cadr l));_将符合条件的实体复制一份到模型空间,注意有些实体不支持非等比矩阵变换
- 1
- )
- )
- )
- )
- (xdrx_pickset->ents ss)
- )
- )
- )
- )
- (princ)
- )
|