找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5881|回复: 33

[试用]:角度匹配程序

[复制链接]
发表于 2005-9-21 13:38:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
功能:以dxf 10代码或选择点为基点将物体与参照物体角度(选择点的切线方向)匹配。
程序命令:jdpp (角度匹配)
适合对象:
INSERT、TEXT、MTEXT、ATTDEF、ATTRIB
LINE、POLYLINE、LWPOLYLINE、XLINE、RAY
参照物体:INSERT、TEXT、MTEXT、ATTDEF、ATTRIB及所有线性物体

20050925版 增加ARC、CIRCLE、ELLIPSE、SPLINE参照物体

“源码”:
  1. [FONT=courier new];;;角度匹配
  2. (defun c:jdpp ()
  3.   (CMDLA0)
  4.   (setq        s1  (entsel "\n选择参考实体 : ")
  5.         e   (car s1)
  6.         ob  (dxf 0 (entget e))
  7.         pt0 (cadr s1)
  8.   )
  9.   (cond        ((or (= ob "INSERT")
  10.              (= ob "TEXT")
  11.              (= ob "MTEXT")
  12.              (= ob "ATTDEF")
  13.              (= ob "ATTRIB")
  14.          )
  15.          (setq ang0 (dxf 50 (entget (car s1))))
  16.          (redraw e 3)
  17.         )
  18.         ((or (= ob "LINE")
  19.              (= ob "POLYLINE")
  20.              (= ob "LWPOLYLINE")
  21.              (= ob "XLINE")
  22.              (= ob "RAY")
  23.              (= ob "ARC")
  24.              (= ob "CIRCLE")
  25.              (= ob "SPLINE")
  26.              (= ob "ELLIPSE")
  27.          )
  28.          ;;切线方向
  29.          (setq pt1  (PT-FAXIAN e (osnap pt0 "near") 100)
  30.                ang0 (+ (angle pt0 pt1) (* pi 0.5))
  31.          )
  32.          (redraw e 3)
  33.         )
  34.         (t (princ))
  35.   )
  36.   (if ang0
  37.     (progn
  38.       (while (> ang0 (/ pi 2.0))
  39.         (setq ang0 (- ang0 pi))
  40.       )
  41.       (while (setq s1 (entsel "\n选择匹配实体<退出> : "))
  42.         (setq e1  (car s1)
  43.               ob  (dxf 0 (entget e1))
  44.               pt0 (cadr s1)
  45.         )
  46.         (cond ((or (= ob "INSERT")
  47.                    (= ob "TEXT")
  48.                    (= ob "MTEXT")
  49.                    (= ob "ATTDEF")
  50.                    (= ob "ATTRIB")
  51.                )
  52.                (setq ang (dxf 50 (entget e1))
  53.                      pts (dxf 10 (entget e1))
  54.                )
  55.               )
  56.               ((or (= ob "LINE")
  57.                    (= ob "POLYLINE")
  58.                    (= ob "LWPOLYLINE")
  59.                    (= ob "XLINE")
  60.                    (= ob "RAY")
  61.                )
  62.                (setq pts (osnap pt0 "near")
  63.                      pt1 (PT-FAXIAN e1 pts 100)
  64.                      ang (+ (angle pt0 pt1) (* pi 0.5))
  65.                )
  66.               )
  67.               (t (princ))
  68.         )
  69.         (if (and ang
  70.                  (or (= ob "LINE")
  71.                      (= ob "POLYLINE")
  72.                      (= ob "LWPOLYLINE")
  73.                      (= ob "XLINE")
  74.                      (= ob "RAY")
  75.                      (= ob "INSERT")
  76.                      (= ob "TEXT")
  77.                      (= ob "MTEXT")
  78.                      (= ob "ATTDEF")
  79.                      (= ob "ATTRIB")
  80.                  )
  81.             )
  82.           (progn
  83.             (while (> ang (/ pi 2.0))
  84.               (setq ang (- ang pi))
  85.             )
  86.             (command "rotate" s1 "" pts (rad2ang (- ang0 ang)))
  87.           )
  88.           (princ "\n所选图元不能角度匹配!")
  89.         )
  90.       )
  91.       (redraw e 4)
  92.       (redraw)
  93.     )
  94.   )
  95.   (CMDLA1)
  96. )
  97. (pxyp "jdpp  (角度匹配)")[/FONT]

本帖被以下淘专辑推荐:

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2005-9-21 13:38:47 | 显示全部楼层
效果示意:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-22 12:22:07 | 显示全部楼层
xyp1964斑竹总是能提供一些好东西!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-23 00:16:01 | 显示全部楼层
呵呵,这个真好玩,好东西,非常感谢xyp
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-23 01:29:30 | 显示全部楼层
可多选么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-23 13:00:50 | 显示全部楼层
很不错的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-23 21:05:56 | 显示全部楼层
好东西
非常感谢
不过我一直用天正3的
他是以r14为平台的,用不了。遗憾。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-24 00:06:29 | 显示全部楼层
最初由 露水2 发布
[B]好东西
非常感谢
不过我一直用天正3的
他是以r14为平台的,用不了。遗憾。 [/B]

用不了也会感谢?!还在用天正3,不可思议!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-24 10:24:30 | 显示全部楼层
最初由 xyp1964 发布
[B]
用不了也会感谢?!还在用天正3,不可思议! [/B]

      我去年毕业的就我们班的很大一部分还是用天正3的,而且很多单位还是用天正3的。
     我是马上要更新换代,下了先留着所以感谢的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-24 13:35:33 | 显示全部楼层
看看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-24 17:05:07 | 显示全部楼层
谢谢,程序挺实用的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-25 08:44:18 | 显示全部楼层
真是好东西,可惜楼主将与弧线或园匹配功能取消,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-25 09:46:46 | 显示全部楼层
最初由 bububa918 发布
[B]真是好东西,可惜楼主将与弧线或园匹配功能取消, [/B]

弧线和园的角度怎么定义?
如何匹配?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-25 12:40:01 | 显示全部楼层
呵呵,是阿,如何匹配那?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9801个

财富等级: 富甲天下

发表于 2005-9-25 18:10:44 | 显示全部楼层
大概是选取点的切线方向。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-23 22:14 , Processed in 0.432051 second(s), 62 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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