明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1891|回复: 9

这个镜像你给几分,没币了我太难了,争取上头条!!

[复制链接]
发表于 2019-10-30 17:30:13 | 显示全部楼层 |阅读模式
本帖最后由 纵横八方 于 2019-10-30 20:25 编辑

;;;其中xyp-是院长的函数,需要E派工具加持
(defun c:xm(/ delss dxf1 ent l1 name pt0 pt1 S1 S2 S3);;;十分镜像
(setq S1 (ssget))
(setq S2 (ssget))
(gxl_error_init2 'delss 1)
(defun delss()(vl-cmdf  "erase" S3 ""))
(setq ent (entlast))
(entmake (list '(0 . "LINE") (cons 10 (xyp-9pt s2 1)) (cons 11 (xyp-9pt s2 7)) (cons 62 2)))
(entmake (list '(0 . "LINE") (cons 10 (xyp-9pt s2 7)) (cons 11 (xyp-9pt s2 9)) (cons 62 2)))
(entmake (list '(0 . "LINE") (cons 10 (xyp-9pt s2 9)) (cons 11 (xyp-9pt s2 3)) (cons 62 2)))
(entmake (list '(0 . "LINE") (cons 10 (xyp-9pt s2 3)) (cons 11 (xyp-9pt s2 1)) (cons 62 2)))
(entmake (list '(0 . "RAY") '(100 . "AcDbEntity") '(100 . "AcDbRay") (cons 10 (xyp-9pt S2 1)) (cons 11 '(-1 -1 0)) (cons 62 1)))
(entmake (list '(0 . "RAY") '(100 . "AcDbEntity") '(100 . "AcDbRay") (cons 10 (xyp-9pt S2 7)) (cons 11 '(-1 1 0)) (cons 62 1)))
(entmake (list '(0 . "RAY") '(100 . "AcDbEntity") '(100 . "AcDbRay") (cons 10 (xyp-9pt S2 9)) (cons 11 '(1 1 0)) (cons 62 1)))
(entmake (list '(0 . "RAY") '(100 . "AcDbEntity") '(100 . "AcDbRay") (cons 10 (xyp-9pt S2 3)) (cons 11 '(1 -1 0)) (cons 62 1)))
(entmake (list '(0 . "XLINE") '(100 . "AcDbEntity") '(100 . "AcDbXline") (cons 10 (xyp-9pt S2 5)) (cons 11 '(1 0 0)) (cons 62 1)))
(entmake (list '(0 . "XLINE") '(100 . "AcDbEntity") '(100 . "AcDbXline") (cons 10 (xyp-9pt S2 5)) (cons 11 '(0 1 0)) (cons 62 1)))
(setq S3 (xyp-sselentnext ent))
(setq l1 (MC:ENTSEL1 "请选择直线或射线:" '((0 . "ray,xline,line")) "\n所选对像不符合要求!"))
(setq name (assoc 0 (setq dxf1 (entget (car l1)))))
(cond
((or (= (cdr name) "RAY") (= (cdr name) "XLINE"))
(setq pt0 (cdr (assoc 10 dxf1 )) pt1 (mapcar '- pt0 (cdr (assoc 11 dxf1 )))))
((= (cdr name) "LINE")
(setq pt0 (cdr (assoc 10 dxf1 )) pt1 (cdr (assoc 11 dxf1 ))))
)
(vl-cmdf "mirror" S1"" "non" pt0 "non" pt1 "n")
(vl-cmdf  "erase" S3 "")
(gxl_error_end2)
)

(defun MC:ENTSEL1 (MSG FIL ERRMSG / E PF SS RT ERR);;MSG:提示字符串,FIL:dxf过滤表,ERRMAG:出错提示信息
  (setq E T PF (getvar 'PICKFIRST))
  (or ERRMSG (setq ERRMSG "无效的对象。"))
  (setvar 'PICKFIRST 1)
  (while E
    (if (setq E (apply 'entsel (cond (MSG (list MSG)))))
      (cond
        ((vl-consp E)
        (setq SS (ssadd (car E) (ssadd)))
        (sssetfirst nil SS)
        (setvar "nomutt" 1)
        (if (setq SS (ssget "_I" FIL))
        (setq RT E E nil)
        (progn (princ ERRMSG) (setq E T)))
        (setvar "nomutt" 0))
        (T (setq RT E E nil))
      )
      (cond
        ((= (setq ERR (getvar 'ERRNO)) 7)
                (setq E T)
                (princ "未选择对象。"))
        ((= ERR 52) (setq E nil))
      )
    )
  )
  (setvar 'PICKFIRST PF)
  RT
)



本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +3 收起 理由
1993063 + 1 很给力!
love1030312 + 1 赞一个!
USER2128 + 1 赞一个!

查看全部评分

发表于 2019-10-30 19:36:00 | 显示全部楼层
看上去很炫
 楼主| 发表于 2019-10-30 20:10:20 来自手机 | 显示全部楼层
10根辅助线,所以取名叫10分镜像
发表于 2019-10-31 08:58:33 | 显示全部楼层
内裤太大了,用起来不舒服吧。
 楼主| 发表于 2019-10-31 10:31:16 来自手机 | 显示全部楼层
那你自己找个函数把它替换掉
发表于 2019-10-31 17:46:53 | 显示全部楼层
It take too longtime ^^
 楼主| 发表于 2019-10-31 22:02:25 来自手机 | 显示全部楼层
简单图形还是非常快的话演示的有点卡
发表于 2020-4-13 14:47:37 | 显示全部楼层
太酷炫了,应该很卡吧
发表于 2021-7-20 09:52:06 | 显示全部楼层
请问为啥提示语法错误呢?我是小白。。。
发表于 2021-12-10 20:24:52 | 显示全部楼层
建议用矢量线,做个8分之一定位即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 01:55 , Processed in 0.159136 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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