你应该提供你自己写的一个程序,不对没关系,这样能看出你会哪些,就比较好回答。比如说你第一个问题,我不清楚你是对功能实现不清楚,还是对这种判断的方法不清楚。。。
删除顶点将其对象的DXF组码中对应的顶点及40、41、42
- (defun c:test( / ent ents pt lst i)
- (command "_.undo" "be")
- (setq ent (car (entsel)))
- (setq ents (entget ent))
- (setq pt (getpoint "输入要删除的点:"))
- (setq lst (member (cons 10 (reverse (cdr (reverse pt)))) ents))
- (if lst
- (progn
- (setq lst (list (assoc 10 lst) (assoc 40 lst) (assoc 41 lst) (assoc 42 lst)))
- (setq i 0)
- (repeat 4
- (setq ents (vl-remove (nth i lst) ents))
- (setq i (1+ i))
- )
- )
- )
- (entmod ents)
- (command "_.undo" "e")
- (princ)
- )
|