明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4131|回复: 20

4分之1镜像

  [复制链接]
发表于 2012-5-9 19:47:04 | 显示全部楼层 |阅读模式
自己想不到思路怎么去写,4分之1镜像这个功能,是否用MIRROR命令,怎么现实。希望大家给个思路!怎么运用下面的程序改写成4分之1镜像这个功能。
  1. ;快速旋转4/1;
  2. (defun c:yi_4rc(/ ss pt old)
  3.   (setq errold *error* *error* err)
  4.   (setq old (getvar "cmdecho"))
  5.   (setvar "cmdecho" 0)
  6.   (prompt "\n请选取需旋转对象: ")
  7.   (setq
  8.       ss   (ssget)
  9.       pt   (getpoint "\n请指定旋转基点:  ")
  10.    )
  11.   (command "array" ss "" "P" pt "4" "" "")
  12.   ;(progn
  13.   ;(command "rotate" ss "" pt "c" "90"))
  14.   ;(progn
  15.   ;(command "rotate" ss "" pt  "c" "180"))
  16.   ;(progn
  17.   ;(command "rotate" ss "" pt "c" "270"))
  18.   ;(command  "redraw")   
  19.    (setvar "cmdecho" old)
  20.   ( princ))


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

真够偷懒的  发表于 2012-5-9 20:26
发表于 2022-12-24 19:05:16 | 显示全部楼层
小工具,大用途!我支持你
发表于 2012-5-9 20:12:03 | 显示全部楼层

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

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

  13.    (setvar "cmdecho" old)
  14.    ( princ)
  15. )
 楼主| 发表于 2012-5-9 20:16:52 | 显示全部楼层
Andyhon 发表于 2012-5-9 20:12

能不能框选的呢?
发表于 2012-5-9 20:33:06 | 显示全部楼层
本帖最后由 sz721 于 2012-5-9 20:40 编辑

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




  1. (defun fsxm-newenlist (en / lst n ss)
  2.   (if en
  3.     (while (setq en (entnext en))
  4.       (setq lst (cons en lst))
  5.     )
  6.     (setq lst (fsxm-ss->enlist (ssget "X")))
  7.   )
  8.   lst
  9. )
  10. (defun fsxm-silenceexit        (/ *error*)
  11.   (t (setq *error* strcat))
  12. )
  13. (defun c:fs4 (/ el pt ss ss2)
  14.   (or (setq ss (ssget)) (fsxm-silenceexit))
  15.   (setq pt (getpoint "\n选择中心点<0,0>:"))
  16.   (if (null pt) (setq pt '(0 0)))
  17.   (setq el (entlast))
  18.   (command ".MIRROR"
  19.     ss
  20.     ""
  21.     "non"
  22.     pt
  23.     "non"
  24.     (mapcar '+ pt '(0 1))
  25.     "N"
  26.   )
  27.   (setq ss2 (ssadd))
  28.   (foreach e (fsxm-newenlist el) (ssadd e ss2))
  29.   (command ".MIRROR"
  30.     ss
  31.     ss2
  32.     ""
  33.     "non"
  34.     pt
  35.     "non"
  36.     (mapcar '+ pt '(1 0))
  37.     "N"
  38.   )
  39. (princ)
  40. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2012-5-9 20:36:46 | 显示全部楼层
本帖最后由 sz721 于 2012-5-9 21:03 编辑

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




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2012-5-9 20:43:04 | 显示全部楼层
几句代码就可写出来了,首先点位复制,旋转-镜像-镜像!
发表于 2012-5-9 23:33:53 | 显示全部楼层
sz721 发表于 2012-5-9 20:36
这里有个八向复制的程序(应该是8分之1镜像),复制后可以选择8个中的一个。但不是源码,希望有高手能根据4 ...

这个好呀,要的就是这个....可以选择要哪个对象的
发表于 2012-5-10 09:03:21 | 显示全部楼层
学习~~~~~~~
发表于 2012-5-10 09:06:54 | 显示全部楼层
sz721 发表于 2012-5-9 20:36
这里有个八向复制的程序(应该是8分之1镜像),复制后可以选择8个中的一个。但不是源码,希望有高手能根据4 ...

请问这个命令是什么????看不清
发表于 2012-5-10 09:09:51 | 显示全部楼层
sz721 发表于 2012-5-9 20:36
这里有个八向复制的程序(应该是8分之1镜像),复制后可以选择8个中的一个。但不是源码,希望有高手能根据4 ...

为什么我会出现多出了一叠~~~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 06:53 , Processed in 0.156276 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表