明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1394|回复: 5

定距打断于点

[复制链接]
发表于 2020-7-30 21:37:39 | 显示全部楼层 |阅读模式
40明经币
本帖最后由 xzklk 于 2020-11-15 23:06 编辑

打断于点要求:输入距离后鼠标点选图形,靠近端点那边打断。如图程序执行输入距离为1,点选最上面直线右边则从直线右边端点距离1位置打断,点左边则从左边打断。希望程序最好还能支持多段线,打断距离能带记忆,能循环使用。谢谢了!
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

感觉你表述的不是很清晰,矩形?单线?相交线?等等各种情况都得说明一下吧
发表于 2020-7-30 21:37:40 | 显示全部楼层
感觉你表述的不是很清晰,矩形?单线?相交线?等等各种情况都得说明一下吧
回复

使用道具 举报

 楼主| 发表于 2020-9-4 02:18:08 | 显示全部楼层
应该发错地方了,没人愿意回答
回复

使用道具 举报

发表于 2020-9-4 07:49:29 | 显示全部楼层

插眼,收藏下
回复

使用道具 举报

 楼主| 发表于 2020-11-15 22:45:28 | 显示全部楼层
发错地方了
回复

使用道具 举报

 楼主| 发表于 2023-3-27 14:25:26 | 显示全部楼层
(defun c:R4 (/ en JG pt1 pt2 pt3 d_end ang );直边变三段
(command "ucs" "w")
  (if (not offset_1) (progn (setq offset_1 0.5)) (setq offset_12 offset_1))
  (setq offset_12 (getreal (strcat "\n输入偏移值<" (rtos offset_1) ">:"))) ;输入的实数
  (if (not offset_12) (setq offset_12 offset_1) (setq offset_1 offset_12))
(while (setq en (ssname (ssget '((0 . "LINE"))) 0))
(if en (progn
  (setq JG  offset_12) ;(setq JG ( * offset_12 0.5))
  (setq pt3 (vlax-curve-getEndPoint en))
  (setq pt1 (vlax-curve-getStartPoint en))
  (setq d_end (vlax-curve-getDistAtPoint en pt3))
  (setq pt2 (vlax-curve-getpointatdist en (/ d_end 2)))
  (setq ang (ANGLE pT3 PT1)
     PC1 (polar pt1 (+ ang (* 1.0 pi)) JG )
     PC3 (polar pt3 (+ ang (* 2.0 pi)) JG ))
(makeline pt3 PC3)(makeline pt1 PC1)
(makeline pc1 PC3) (entdel en) ))
))
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 03:35 , Processed in 0.195258 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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