明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1904|回复: 3

井字梁打断程序,求修改

[复制链接]
发表于 2012-5-7 09:15 | 显示全部楼层 |阅读模式
如果要打断的梁线是虚线,可能会出错,求修改

(defun c:BeamBreak1(/ uc obj pt ax ay bx by cx cy dx dy a b c d ab bc cd da l1 l2 l3 l4)
  (setq uc (getvar "ucsorg"));换成世界坐标
  (setq pt(getpoint "\nselect a point:"))
  (while pt
    (command "-boundary" pt "")
    (setq obj (entget (entlast)))
    (setq ax (- (cadr (nth 14 obj)) (car uc)))
    (setq ay (- (caddr (nth 14 obj)) (cadr uc)))
    (setq bx (- (cadr (nth 18 obj)) (car uc)))
    (setq by (- (caddr (nth 18 obj)) (cadr uc)))
    (setq cx (- (cadr (nth 22 obj)) (car uc)))
    (setq cy (- (caddr (nth 22 obj)) (cadr uc)))
    (setq dx (- (cadr (nth 26 obj)) (car uc)))
    (setq dy (- (caddr (nth 26 obj)) (cadr uc)))
    (setq a (list ax ay))
    (setq b (list bx by))
    (setq c (list cx cy))
    (setq d (list dx dy))
    (setq ab (list (/ (+ ax bx) 2.0) (/ (+ ay by) 2.0)))
    (setq bc (list (/ (+ bx cx) 2.0) (/ (+ by cy) 2.0)))
    (setq cd (list (/ (+ cx dx) 2.0) (/ (+ cy dy) 2.0)))
    (setq da (list (/ (+ dx ax) 2.0) (/ (+ dy ay) 2.0)))
    (command "erase" "l" "")
    ;梁的打断
    (setq l1 (nentselp cd))
    (setq l2 (nentselp ab))
    (setq l3 (nentselp bc))
    (setq l4 (nentselp da))
    (command "break" l1 "f" c d)
    (command "break" l2 "f" a b)
    (command "break" l3 "f" c b)
    (command "break" l4 "f" d a)
      
  (setq pt(getpoint "\nselect a point:"))
  )
)



该贴已经同步到 蒹葭_Keirll的微博
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-5-7 09:56 | 显示全部楼层
本帖最后由 wowan1314 于 2012-5-7 11:15 编辑

按他的算法是有这个弊端啊! 他是通过一点来获取图元,如果此点刚好是虚线部分的可能就选不到图元了。
我尝试通过设置线型的全局比例因子来更新虚线部分。但是失败了。
  (SETVAR "LTSCALE" 0.0001)
  (COMMAND "._REGEN");在程序中未重新生成。  
另好像有个帖子是说智能剪切的,可找找看是否满足要求。

帮顶,期待高手出现。
发表于 2012-5-7 15:57 | 显示全部楼层
你的线型是虚线时 ,有时会选不到物体,,将线型改为直线,,最后再改回来
 楼主| 发表于 2012-5-7 20:17 | 显示全部楼层
我想通过程序改线型,但是没成功。数据库里线形是在(6 . “XXX”)里的,但如果一条线是bylayer的话就没有这项了

点评

你就改全局比例因子就可以了,然后RE重生成下。  发表于 2012-5-7 20:26
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 10:39 , Processed in 0.303694 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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