明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3008|回复: 13

求直线角度替换程序

  [复制链接]
发表于 2012-11-27 00:28:23 | 显示全部楼层 |阅读模式
1明经币
想把图中所有角度为292.5°的直线变成角度为315.0°的直线,有劳大侠们神笔挥就

最佳答案

查看完整内容

这是饶直线起点旋转的,如果需要判别左右,还要再加些代码。
发表于 2012-11-27 00:28:24 | 显示全部楼层
本帖最后由 ll_j 于 2012-11-29 16:56 编辑

  1. (defun c:tt()
  2.   (setq ss (ssget '((0 . "LINE")))
  3.   i -1
  4.   )
  5.   (while (setq s1 (ssname ss (setq i (1+ i))))
  6.     (setq en (entget s1)
  7.     pt10 (cdr (assoc 10 en))
  8.     pt11 (cdr (assoc 11 en))
  9.     ang (angle pt10 pt11)
  10.     )
  11.     (if (or (equal ang (* pi (/ 292.5 180)) 1e-3)
  12.       (equal ang (* pi (/ 112.5 180)) 1e-3)
  13.   )
  14.       (progn
  15.   (setq pt11 (polar pt10 (* pi  (/ 315.0 180)) (distance pt10 pt11))
  16.         en (subst (cons 11 pt11) (assoc 11 en) en)
  17.   )
  18.   (entmod en)
  19.       )
  20.     )
  21.   )
  22.   (princ)
  23. )


这是饶直线起点旋转的,如果需要判别左右,还要再加些代码。

回复

使用道具 举报

发表于 2012-11-27 07:27:35 | 显示全部楼层
本帖最后由 xyp1964 于 2012-11-27 10:25 编辑
  1. ;; 自定义函数: [url=http://bbs.mjtd.com/thread-95673-1-1.html]http://bbs.mjtd.com/thread-95673-1-1.html[/url]
  2. (defun c:tt ()
  3.   (cmdla0)
  4.   (setq ss (ssget '((0 . "line")))
  5. i  -1
  6.   )
  7.   (while (setq s1 (ssname ss (setq i (1+ i))))
  8.     (if (equal (xyp-r2d (xyp-get "angle" s1)) 292.5 1e-3)
  9.       (command "rotate" s1 "" "non" (xyp-get-CurveMidPoint s1) (- 315 292.5))
  10.     )
  11.   )
  12.   (cmdla1)
  13. )

回复

使用道具 举报

发表于 2012-11-27 08:22:02 | 显示全部楼层
院长这么早就上来回贴了,劳模呀,向院长学习!
回复

使用道具 举报

 楼主| 发表于 2012-11-27 09:03:08 | 显示全部楼层
xyp1964 发表于 2012-11-27 07:27

院长,怎么没反应啊?

点评

已经修改  发表于 2012-11-27 10:26
回复

使用道具 举报

 楼主| 发表于 2012-11-27 19:36:12 | 显示全部楼层
还是没反应~~
回复

使用道具 举报

 楼主| 发表于 2012-11-29 13:07:47 | 显示全部楼层
ll_j 发表于 2012-11-28 09:40
这是饶直线起点旋转的,如果需要判别左右,还要再加些代码。

如我所愿,非常感谢!
回复

使用道具 举报

 楼主| 发表于 2012-11-29 14:25:41 | 显示全部楼层
ll_j 发表于 2012-11-27 00:28
这是饶直线起点旋转的,如果需要判别左右,还要再加些代码。

刚发现不对,直线没有变成315°,而是变成了320.1°
回复

使用道具 举报

发表于 2012-11-29 17:00:51 | 显示全部楼层
半听可乐 发表于 2012-11-29 14:25
刚发现不对,直线没有变成315°,而是变成了320.1°

不好意思,刚才的确错了,现在修改了。

刚在在315度的基础上又加上了原有角度,所以错了。修改位置在第15行。
回复

使用道具 举报

 楼主| 发表于 2012-11-29 17:24:25 | 显示全部楼层
ll_j 发表于 2012-11-29 17:00
不好意思,刚才的确错了,现在修改了。

刚在在315度的基础上又加上了原有角度,所以错了。修改位置在第 ...

嘿嘿,好了!谢谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-4 01:21 , Processed in 0.235995 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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