明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2378|回复: 17

[提问] 图形水平调正的功能

  [复制链接]
发表于 2017-10-21 18:47:44 | 显示全部楼层 |阅读模式
就是所有的图形,可以一次性水平旋转  ,无论是垂直的 还是 切斜的

本帖子中包含更多资源

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

x

点评

给个参考图  发表于 2017-10-28 15:21
发表于 2017-10-28 15:41:25 | 显示全部楼层


本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2017-10-22 16:41:47 | 显示全部楼层
  1. ;--------------未知角度转正------------------
  2. (defun c:rz ()
  3.   (setvar "cmdecho" 0)
  4.     (setq ss (ssget)
  5.        a(entsel"\n-->选择需要转正的斜线")
  6.        j(car a)
  7.    ifpl  (cadr a)
  8.      )
  9. (if (= "LINE" (cdr(assoc 0 (entget j)))) ;条件
  10.   (progn
  11.        (setq pt1(cdr(assoc 10 (entget j))))
  12.        (setq pt2(cdr(assoc 11 (entget j))))
  13.       
  14.        (command "_rotate" ss "" ifpl   "r"  "_none"pt1 "_none"pt2 "0")
  15.     )
  16.   )


  17.   (if(= "LWPOLYLINE"  (cdr(assoc 0 (entget j))))
  18.     (if (HH:PickArc j ifpl)
  19.         (progn
  20.     (setq pt1 (car (HH:PickSegEndPt j ifpl))
  21.                 pt2 (cadr(HH:PickSegEndPt j ifpl)))
  22.          (command "_rotate" ss "" ifpl   "r"  "_none"pt1 "_none"pt2 "0")
  23.    )
  24.       )
  25.     )
  26. (princ)

  27. )



  28. ;;164.18 [功能] 多段线所点击子段的两端点列表
  29. ;;示例(HH:PickSegEndPt (car(setq en(entsel))) (cadr en))
  30. (defun HH:PickSegEndPt (obj p / pp n)
  31.   (setq        pp (vlax-curve-getclosestpointto obj (trans p 1 0))
  32.         n  (fix (vlax-curve-getparamatpoint obj pp))
  33.   )
  34.   (list        (vlax-curve-getPointAtParam obj n)
  35.         (vlax-curve-getPointAtParam obj (1+ n))
  36.   )
  37. )


  38. ;;164.24 [功能] 多段线所击子段是否是直线(返回nil是弧) By 自贡黄明儒
  39. ;;示例(HH:PickArc (car(setq en(entsel))) (cadr en))
  40. (defun HH:PickArc (curve p / PP)
  41.   (setq pp (vlax-curve-getclosestpointto curve (trans p 1 0)))
  42.   (setq        pp (vlax-curve-getSecondDeriv
  43.              curve
  44.              (fix (vlax-curve-getparamatpoint curve pp))
  45.            )
  46.   )
  47.   (equal pp '(0.0 0.0 0.0))
  48. )

 楼主| 发表于 2017-10-22 16:57:53 | 显示全部楼层
ysq101 发表于 2017-10-22 16:43
这个是需要转正哪条边就点哪条边。。。只能单选。。。
三年前写的代码了。。。借用了黄大师的子程序。。。 ...

厉害 我不懂代码 单觉得这个应该很简单的
发表于 2017-10-22 11:12:29 | 显示全部楼层
获得图形的角度属性,修改属性,更新图元。
发表于 2017-10-22 11:29:57 | 显示全部楼层
我有一个只可单选的。。。你可需要??
(新手作品)
 楼主| 发表于 2017-10-22 16:33:07 | 显示全部楼层
ysq101 发表于 2017-10-22 11:29
我有一个只可单选的。。。你可需要??
(新手作品)

要啊  比没有强的多  谢谢
发表于 2017-10-22 16:43:26 | 显示全部楼层
这个是需要转正哪条边就点哪条边。。。只能单选。。。
三年前写的代码了。。。借用了黄大师的子程序。。。

现在我自己都读不懂了
 楼主| 发表于 2017-10-22 17:11:54 | 显示全部楼层
孙玉坤 发表于 2017-10-22 16:57
厉害 我不懂代码 单觉得这个应该很简单的

不过 也不多  非常的感谢
发表于 2017-10-22 18:32:07 | 显示全部楼层
能选择块内的对象就更好了,这样就可以将块水平了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 14:43 , Processed in 0.207436 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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