功夫佬 发表于 2012-5-9 19:47:04

4分之1镜像

自己想不到思路怎么去写,4分之1镜像这个功能,是否用MIRROR命令,怎么现实。希望大家给个思路!怎么运用下面的程序改写成4分之1镜像这个功能。;快速旋转4/1;
(defun c:yi_4rc(/ ss pt old)
(setq errold *error* *error* err)
(setq old (getvar "cmdecho"))
(setvar "cmdecho" 0)
(prompt "\n请选取需旋转对象: ")
(setq
      ss   (ssget)
      pt   (getpoint "\n请指定旋转基点:")
   )
(command "array" ss "" "P" pt "4" "" "")
;(progn
;(command "rotate" ss "" pt "c" "90"))
;(progn
;(command "rotate" ss "" pt"c" "180"))
;(progn
;(command "rotate" ss "" pt "c" "270"))
;(command"redraw")   
   (setvar "cmdecho" old)
( princ))

zmzk 发表于 2022-12-24 19:05:16

小工具,大用途!我支持你

Andyhon 发表于 2012-5-9 20:12:03


(defun c:yi_4rc(/ ss pt old)
   (setq errold *error* *error* err)
   (setq old (getvar "cmdecho"))
   (setvar "cmdecho" 0)

   (prompt "\n请选取需????像: ")
   (setq ;; ss (ssget)
            ee (car (entsel))
            pt (getpoint "\n请指定对称基点:")
   )
   ;; (SetVar "OsMode" 0)
   (command "Mirror" ee "" "none" pt "none" (mapcar '+ pt '(0 1)) "N")
   (command "Mirror" ee (entlast) "" "none" pt "none" (mapcar '+ pt '(1 0)) "N")

   (setvar "cmdecho" old)
   ( princ)
)

功夫佬 发表于 2012-5-9 20:16:52

Andyhon 发表于 2012-5-9 20:12 static/image/common/back.gif


能不能框选的呢?

sz721 发表于 2012-5-9 20:33:06

本帖最后由 sz721 于 2012-5-9 20:40 编辑

还真是巧,下午刚淘来的,飞诗的程序。(4份镜像)不过,没有函数定义不能使用。还在明经搜了一下,整理了一下。应该是楼主要的。




(defun fsxm-newenlist (en / lst n ss)
(if en
    (while (setq en (entnext en))
      (setq lst (cons en lst))
    )
    (setq lst (fsxm-ss->enlist (ssget "X")))
)
lst
)
(defun fsxm-silenceexit      (/ *error*)
(t (setq *error* strcat))
)
(defun c:fs4 (/ el pt ss ss2)
(or (setq ss (ssget)) (fsxm-silenceexit))
(setq pt (getpoint "\n选择中心点<0,0>:"))
(if (null pt) (setq pt '(0 0)))
(setq el (entlast))
(command ".MIRROR"
    ss
    ""
    "non"
    pt
    "non"
    (mapcar '+ pt '(0 1))
    "N"
)
(setq ss2 (ssadd))
(foreach e (fsxm-newenlist el) (ssadd e ss2))
(command ".MIRROR"
    ss
    ss2
    ""
    "non"
    pt
    "non"
    (mapcar '+ pt '(1 0))
    "N"
)
(princ)
)

sz721 发表于 2012-5-9 20:36:46

本帖最后由 sz721 于 2012-5-9 21:03 编辑

这里有个八向复制的程序(应该是8分之1镜像),复制后可以选择8个中的一个。但不是源码,希望有高手能根据4份镜像修改写出源码。




dz-2011 发表于 2012-5-9 20:43:04

几句代码就可写出来了,首先点位复制,旋转-镜像-镜像!

CTC 发表于 2012-5-9 23:33:53

sz721 发表于 2012-5-9 20:36 static/image/common/back.gif
这里有个八向复制的程序(应该是8分之1镜像),复制后可以选择8个中的一个。但不是源码,希望有高手能根据4 ...

这个好呀,要的就是这个....可以选择要哪个对象的

梦醒才知原是梦 发表于 2012-5-10 09:03:21

学习~~~~~~~

梦醒才知原是梦 发表于 2012-5-10 09:06:54

sz721 发表于 2012-5-9 20:36 static/image/common/back.gif
这里有个八向复制的程序(应该是8分之1镜像),复制后可以选择8个中的一个。但不是源码,希望有高手能根据4 ...

请问这个命令是什么????看不清

梦醒才知原是梦 发表于 2012-5-10 09:09:51

sz721 发表于 2012-5-9 20:36 static/image/common/back.gif
这里有个八向复制的程序(应该是8分之1镜像),复制后可以选择8个中的一个。但不是源码,希望有高手能根据4 ...

为什么我会出现多出了一叠~~~~
页: [1] 2 3
查看完整版本: 4分之1镜像