明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5554|回复: 11

[求助]不算镜像的镜像,谁知道怎么做到

  [复制链接]
发表于 2010-6-5 11:29 | 显示全部楼层 |阅读模式
  我所需要的镜像,就是图像在位置上镜像,当时形状不变,有这样的命令吗

本帖子中包含更多资源

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

x
发表于 2021-6-3 16:15 | 显示全部楼层

您好,我运行这个代码怎么显示是参数类型错误?
发表于 2010-6-5 11:50 | 显示全部楼层

看不懂

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

足球比分 篮球比分  NBA赛程表 即时比分 足球赛程 足球指数 网球比分 开发比分网 阴阳冕

发表于 2010-6-6 11:46 | 显示全部楼层
如果用自定义对象的话很容易实现
发表于 2010-6-6 17:19 | 显示全部楼层

设置镜像选项

 

发表于 2010-6-21 17:54 | 显示全部楼层
具体这个镜像有什么作用?发个cad的图纸表明一下镜像前和镜像后的效果!
发表于 2010-6-22 10:03 | 显示全部楼层
 MIRRTEXT命令  可以设置文字的,图形的好像不能吧,   用程序好实现
发表于 2010-6-22 23:21 | 显示全部楼层
写个极简单的程序即可实现,CAD中没有直接的命令可以做到。除非红色的是文字,那样的话将MIRRTEXT设为0即可
发表于 2010-6-30 16:29 | 显示全部楼层

1、先镜像

2、每个实体在插入点自身镜像。

 

发表于 2010-7-26 16:54 | 显示全部楼层
  1. (defun c:Mr (/ gxl-MidPoint gxl-GetssBox )
  2.   (defun gxl-MidPoint (p1 p2)
  3.   (if (> 2 (length p1))
  4.       (list (* 0.5 (+ (car p1) (car p2))) (* 0.5 (+ (cadr p1) (cadr p2))) (* 0.5 (+ (caddr p1) (caddr p2))))
  5.       (list (* 0.5 (+ (car p1) (car p2))) (* 0.5 (+ (cadr p1) (cadr p2))))
  6.   )  
  7.   )
  8.   (defun gxl-Sel-SS->List (ss / cs_i out)
  9.   (if (= (type ss) 'PICKSET)
  10.     (progn
  11.       (setq cs_i 0.0
  12.      out  '()
  13.       )
  14.       (repeat (sslength ss)
  15. (setq out (cons (ssname ss cs_i) out))
  16. (setq cs_i (1+ cs_i))
  17.       )
  18.       (setq out (reverse out))
  19.     )
  20.   )
  21. )
  22.   (defun gxl-getbox (e1 / obj minpoint maxpoint)
  23.   (if (= 'ENAME (type e1))
  24.   (setq obj (vlax-ename->vla-object e1)) ;转换图元名
  25.     (setq obj e1)
  26.     )
  27.   (vla-GetBoundingBox obj 'minpoint 'maxpoint)
  28.      ;取得包容图元的最大点和最小点
  29.   (setq minpoint (vlax-safearray->list minpoint)) ;把变体数据转化为表
  30.   (setq maxpoint (vlax-safearray->list maxpoint)) ;把变体数据转化为表
  31.   ;;(command "box" minpoint maxpoint 2)
  32.   (setq obj (list minpoint maxpoint))
  33. )
  34.   (setq oldosmode (getvar "osmode"))
  35.   (setvar "osmode" 0)
  36.   (princ "\n选择要镜像的物体:")
  37.   (setq ss (ssget))
  38.   (if ss
  39.     (progn
  40.       (setq pt1(getpoint "\n指定镜像线的第一点:")
  41.      pt2 (getpoint pt1 "\n指定镜像线的第二点:")
  42.      )
  43.       (command "line" pt1 pt2 "")
  44.     (setq line (entlast))
  45.       (initget 7 "Yes No  ")
  46.       (setq kd (getkword "\n是否删除源对象?[是<Yes>/否<No>]否<No>"))
  47.       (if (= kd "") (setq kd "No"))
  48.       (setq nn (sslength ss)
  49.      n 0)
  50.       (repeat nn
  51.       (setq pl (GXL-GETBOX (setq en (ssname ss n))))
  52.       (setq pt (GXL-MIDPOINT (car pl) (cadr pl)))
  53.       (setq mpt (vlax-curve-getclosestpointto line pt t))
  54.       (setq ang (angle pt mpt))
  55.       (command "copy" en "" pt (polar pt ang (* 2 (distance pt mpt))))
  56.       
  57.       (if (= kd "Yes") (command "erase" en ""))
  58. (setq n (1+ n))
  59. )
  60.       )
  61.       
  62.     )
  63.   (entdel line)
  64.   (setvar "osmode" oldosmode)
  65.   )
发表于 2010-8-9 10:43 | 显示全部楼层
简单啊,获取插入点然后一个move足以搞定
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-16 20:48 , Processed in 0.440964 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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