找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 719|回复: 11

[编程申请] 如何在cad中实现在交点处自动绘制点

[复制链接]
发表于 2016-5-12 09:53:03 | 显示全部楼层 |阅读模式

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

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

×
如何在cad中实现在交点处自动绘制点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

 楼主| 发表于 2016-5-12 10:54:13 | 显示全部楼层
[img]file:///C:\Users\亮亮\AppData\Roaming\Tencent\Users\279095934\QQ\WinTemp\RichOle\(64P[2Z6`7N6QVUT{$CV8@P.png[/img]

(64P[2Z6`7N6QVUT{$CV8@P.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-5-12 11:04:58 | 显示全部楼层
没看出什么规则尼?左右图什么区别?圆是点?大小根据什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-12 11:17:14 | 显示全部楼层
就是把圆所圈的相交处转换成节点

点评

谁也不在你身边,谁也不知道你想什么,所以尽可能的描述清楚,并附上一个DWG图上来。 你是想把相交处打断就可以吗?  详情 回复 发表于 2016-5-12 11:30
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-12 11:29:54 | 显示全部楼层
(defun c:tt ();;;;曲线交点处加点
  (vl-load-com)
  (princ "\n请选择多段线、样条曲线、直线、圆、圆弧、椭圆:")
  (setq ss (ssget (list (cons 0 "*LINE,ARC,CIRCLE,ELLIPSE"))))
  (if (/= ss nil)
    (progn
      (setq ptnls (xlr_jdlb_ss ss))
      (if (/= ptnls nil)
        (progn
          (setvar "PDMODE" 35) ;点模式
          (foreach pt ptnls
            (entmake (list (cons 0 "POINT") (cons 10 pt)(cons 62 3)))
          )
        )
      )
    )
  )
)
(defun xlr_jdlb_ss (ss / ipt lst n n1 n2 obj1 obj2)
  (setq n  (sslength ss)
        n1 0
  )
  (while (< n1 (1- n))
    (setq obj1 (vlax-ename->vla-object (ssname ss n1))
          n2   (1+ n1)
    )
    (while (< n2 n)
      (setq obj2 (vlax-ename->vla-object (ssname ss n2))
            ipt  (vlax-variant-value (vla-intersectwith obj1 obj2 0))
      )
      (if (> (vlax-safearray-get-u-bound ipt 1) 0)
        (progn
          (setq ipt (vlax-safearray->list ipt))
          (while (> (length ipt) 0)
            (setq lst (cons (list (car ipt) (cadr ipt) (caddr ipt)) lst) ipt (cdddr ipt))
          )
        )
      )
      (setq n2 (1+ n2))
    )
    (setq n1 (1+ n1))
  )
  lst
)

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-5-12 11:30:50 | 显示全部楼层
syq860202 发表于 2016-5-12 11:17
就是把圆所圈的相交处转换成节点

谁也不在你身边,谁也不知道你想什么,所以尽可能的描述清楚,并附上一个DWG图上来。 你是想把相交处打断就可以吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-5-12 11:44:11 | 显示全部楼层
用了你的程序,看来你就是想打断他们,安装晓东工具箱,然后只用一句代码就可以了

(setq ss (xdrx_curve_intersectbreak (ssget)))

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

使用道具 举报

 楼主| 发表于 2016-5-12 12:45:33 | 显示全部楼层
图中红线与白线相交处生成端点
QQ截图20160512123801.png

点评

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-5-12 13:22:28 | 显示全部楼层
syq860202 发表于 2016-5-12 12:45
图中红线与白线相交处生成端点

录像28_转.gif

  1. (defun c:tt ()
  2.   (if (and
  3.         (setq e (car (xdrx_entsel "\n选取线<退出>:" '((0 . "*LINE")))))
  4.         (setq pts (xdrx_getsamplept e)
  5.               ss (ssget "f" (xd::pnts:wcs2ucs pts) '((0 . "*line,circle,arc,spline,ellipse")))
  6.         )
  7.       )

  8.     (progn
  9.       (xdrx_begin)
  10.       (setq i2 nil)
  11.       (setvar "pdmode" 35)
  12.       (mapcar
  13.         '(lambda (x)
  14.            (if (setq i1 (xdrx_entity_intersectwith e x 0))
  15.              (mapcar '(lambda(y)(xdrx_setpropertyvalue (xdrx_point_make (trans y 1 0)) "color" 2)) i1)
  16.            )
  17.          )
  18.         (xdrx_pickset->ents ss)
  19.       )
  20.       (setq ss (ssadd e ss))
  21.       (xdrx_curve_intersectbreak ss 0 nil)
  22.       (xdrx_end)
  23.     )
  24.   )
  25.   (princ)
  26. )


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

使用道具 举报

 楼主| 发表于 2016-5-12 16:44:04 | 显示全部楼层
非常感谢,非常有用

点评

你这个是什么专业做什么用?  详情 回复 发表于 2016-5-12 16:51
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-5-12 16:51:26 | 显示全部楼层
syq860202 发表于 2016-5-12 16:44
非常感谢,非常有用

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 20:40 , Processed in 0.590412 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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