有人能帮忙吗。我通常在任何时候都设置了几个捕捉点。复制时,我会定期将捕捉点设置为端点或中点,复制捕捉点,然后将其重置为以前的捕捉。
我写了这个Lisp程序的句子,但是。。。。。它将捕捉点设置为将对象复制到第一个位置,但在复制的第一个实例之后,捕捉点将恢复为所有捕捉点,而不是中点或端点。
- (defun C:Copy-Point (/ copy_objects osm cm Choice)
- (setq copy_objects (ssget))
- (setq osm (getvar 'osmode) cm (getvar 'copymode))
- (setvar "copymode" 1)
- (initget 1 "Midpoint Endpoint")
- (setq Choice (getkword "\nWhich Point [Midpoint/Endpoint]: "))
- (cond
- ((= Choice "Midpoint")(command "osmode" 2 ))
- ((= Choice "Endpoint")(command "osmode" 1 ))
- )
- (command "copy" copy_objects "" "m" pause pause)
- (setvar 'osmode osm)
- (setvar 'copymode cm)
- (princ)
- )
|