autocad中lisp程序,图形中框选之后如何采集插入块的信息用selection函数吗如何用求代码!谢谢

autocad中lisp程序,图形中框选之后如何采集插入块的信息用selection函数吗如何用求代码!谢谢,第1张

属性需要用entnext不断的往后取得到,下面给你一个例子

;;;把两个属性快的属性执行一致

(defun C:bpp() ;;;复制属性

(setq ent1 nil ent2 nil)

(while (= nil ent1)(setq ent1 (car (entsel "\n数据源块:")))) ;;;;;;;;;取其中 一个块

(while (= nil ent2)(setq ent2 (car (entsel "\n需要被一致的块:")))) ;;;;;;;;;取其中另一个块

(setq n

(length (vlax-safearray->list (vlax-variant-value

(vlax-invoke-method

(vlax-ename->vla-object ent1)

'GetAttributes)

)))

)

(repeat n

(setq ent1 (entnext ent1))

(setq ent2 (entnext ent2))

(setq entlist1 (entget ent1))

(setq entlist2 (entget ent2))

(setq entlist2 (subst (assoc 1 entlist1) (assoc 1 entlist2) entlist2))

(entMOD entlist2)

(entUPD ent2)

)

)

请参考下列程序:

;把字符串表示的表转化成实数表示的表

(defun release (l / flag count slength single data itemlist temp)

(if l (progn

(foreach item l

(setq count 1 flag T slength (strlen item) itemlist nil )

(while (<= count slength)

(setq single (substr item count 1))

(if (member single '("X" "x" ""))

(progn

(setq data (atof (substr item 1 (1- count))))

(repeat (atoi (substr item (1+ count)))

(setq itemlist (append itemlist (list data))))

(setq count (1+ slength) flag nil)

);progn

(setq count (1+ count))

);if

);while

(if flag

(setq temp (append temp (list (atof item))))

(setq temp (append temp itemlist))

);if-flag

);foreach

temp

));if-progn

);release

(setq #k (getvar "clayer")) ;;取得当前图层

(setq #os (getvar "osmode"));;得到捕捉设置

(setvar "clayer" "0")       ;;切换到图层0

(setvar "osmode" 0)         ;;画圆过程必须关闭捕捉

(command "circle" pt 5)     ;;画圆

(setvar "clayer" #k)        ;;恢复原来图层

(setvar "osmode" #os)       ;;恢复捕捉设置

以上就是关于autocad中lisp程序,图形中框选之后如何采集插入块的信息用selection函数吗如何用求代码!谢谢全部的内容,包括:autocad中lisp程序,图形中框选之后如何采集插入块的信息用selection函数吗如何用求代码!谢谢、如何通过 cad 里面的lisp 获得数据;该如何书写、CAD lisp 求助一段代码实现在进行 *** 作之前获取图层信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9874816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存