明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1079|回复: 3

[讨论] 之前看到过以块内以某条直线水平转正的LSP,现在翻了二天还没找到。

[复制链接]
发表于 2015-2-11 08:55:03 | 显示全部楼层 |阅读模式
有知道的朋友给个链接好吗?
谢谢了
发表于 2015-2-13 16:38:28 | 显示全部楼层
本帖最后由 Gu_xl 于 2015-2-13 16:39 编辑

需加载XLRX_API
  1. (defun c:tt ()
  2.   (while (setq e (nentselp))
  3.     (if        (> (length e) 2)
  4.       (progn
  5.         (setq pt   (trans (cadr e) 1 0)
  6.               m           (caddr e) ;_ 转换矩阵
  7.               invM (XLRX-Mat-Inverse m) ;_ 逆矩阵
  8.               e1   (car e) ;_ 选择的子对象
  9.               e           (last (last e)) ;_ 选择的图块
  10.                    ;;m0 (XLRX-Mat-blockTransform2Def e) ;_ 图块引用->图块定义转换矩阵
  11.                    ;;m1 (XLRX-Mat-blockTransform2Ref e) ;_ 图块定义->图块引用转换矩阵
  12.         )
  13.         (if (member (xlrx-get e1 "isA")
  14.                     '("AcDbLine"          "AcDbPolyline"
  15.                       "AcDb2dPolyline"          "AcDb3dPolyline"
  16.                       "AcDbCircle"          "AcDbArc"
  17.                       "AcDbEllipse"          "AcDbSpline"
  18.                      )
  19.             )
  20.           (progn
  21.             (setq pt (XLRX-Mat-MxP invM pt)) ;_ 点转换到块定义
  22.             (setq pt (xlrx-Curve-getClosestPointTo e1 pt))
  23.             (setq vec (xlrx-Curve-getFirstDeriv e1 pt)
  24.                   pt1 (mapcar '+ pt vec)
  25.             )
  26.             (setq pt  (XLRX-Mat-MxP m pt)
  27.                   pt1 (XLRX-Mat-MxP m pt1)
  28.             )
  29.             (setq ang (angle pt pt1))
  30.             (cond ((>= (/ pi 2) ang 0) (setq ang (- ang)))
  31.                   ((>= (* pi 1.5) ang (/ pi 2)) (setq ang (- pi ang)))
  32.                   ((>= (* pi 2) ang (* pi 1.5)) (setq ang (- (* pi 2) ang))
  33.                   )
  34.             )
  35.             (setq m (XLRX-Mat-Rotation pt ang)) ;_ 构建旋转矩阵
  36.             (XLRX-TRANSFORMBY e m)
  37.           )
  38.         )
  39.       )
  40.     )
  41.   )
  42. )
 楼主| 发表于 2015-3-2 09:31:24 | 显示全部楼层
感谢G版,新年好,回去试试
 楼主| 发表于 2015-3-5 12:34:53 | 显示全部楼层
G版没有2015的吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-23 11:55 , Processed in 0.157596 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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