找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1385|回复: 5

[求助] 请各位老师进来看看我这个代码那个地方错了,给修改一下

[复制链接]

已领礼包: 720个

财富等级: 财运亨通

发表于 2014-12-3 15:52:50 | 显示全部楼层 |阅读模式

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

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

×
(Defun C:cjlj (/ Ss1 ss2 Pt1 Pt2 p1 p2)
(vl-load-com)
  (Setvar "Cmdecho" 0)
    (Setq Pt1 (Getvar "Vsmin"))
    (Setq Pt2 (Getvar "Vsmax"))
    (Setq Ss1 (Entsel "\n 选择1线:"))
    (Setq Ss2 (Entsel "\n 选择2线:"))
    (Setq p1s (vlax-curve-getstartpoint (car ss1)))
    (Setq p1d (vlax-curve-getendpoint (car ss1)))
    (Setq p2d (vlax-curve-getendpoint (car ss2)))
    (Setq p2s (vlax-curve-getstartpoint (car ss2)))
    (setq Z1(car(assoc 38 (entget (car ss1)))))
    (setq Z2(car(assoc 38 (entget (car ss2)))))
(setq d1 (distance p1s p2s)
      d2 (distance p1s p2d)
      d3 (distance p1d p2s)
      d4 (distance p1d p2d)
)
(cond
      ((= d1 min(d1 d2 d3 d4))(setq p1 p1s p2 p2s))
      ((= d2 min(d1 d2 d3 d4))(setq p1 p1s p2 p2d))
      ((= d3 min(d1 d2 d3 d4))(setq p1 p1d p2 p2s))
      (T (setq p1 p1d p2 p2d))
  )

(if (= z1 z2)
(progn
(Vl-Cmdf "line" p1 p2 "")
(Vl-Cmdf ".Pedit" Ss1 "Yes" "J" "C" Pt1 Pt2 "" "" )
(Vl-Cmdf ".Pedit" Ss1 "Yes" "s" Pt1 Pt2 "" "")
)
)
(Setvar "Cmdecho" 1)
(Princ)
)


我的意图是:
1,有两个线,使两个线的最近端点连接
2,连接后对整条线进行拟合
主要是用于等高线连接应用

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2014-12-3 16:10:17 | 显示全部楼层
1)Min函数用法不对,要么是(min d1 d2 d3 d4),要么是apply 'min (list d1 d2 d3 d4)
2)组码38是对LWPOLYLINE有用,如果是line,就会出错吧?
3)好像pedit命令不对,仔细查一下
4)如果两条线是平行且等长,到底连哪边?这个要考虑吧?
5)点捕捉最好关掉

评分

参与人数 1D豆 +5 收起 理由
炫翔 + 5 技术引导讨论和指点奖!

查看全部评分

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

使用道具 举报

已领礼包: 10398个

财富等级: 富甲天下

发表于 2014-12-3 21:03:24 | 显示全部楼层
  1. ;我的意图是:
  2. ;1,有两个线,使两个线的最近端点连接
  3. ;2,连接后对整条线进行拟合
  4. ;主要是用于等高线连接应用
  5. (defun C:cjlj (/ Ss1 ss2 Pt1 Pt2 p1 p2)
  6.   (vl-load-com)
  7.   (setvar "Cmdecho" 0)
  8.   (setq Ss1 (entsel "\n 选择1线:"))
  9.   (setq Ss2 (entsel "\n 选择2线:"))
  10.   (setq p1s (vlax-curve-getStartPoint (car ss1)))
  11.   (setq p1d (vlax-curve-getEndPoint (car ss1)))
  12.   (setq p2d (vlax-curve-getEndPoint (car ss2)))
  13.   (setq p2s (vlax-curve-getStartPoint (car ss2)))
  14.   (setq Z1 (car(assoc 38 (entget (car ss1)))))
  15.   (setq Z2 (car(assoc 38 (entget (car ss2)))))
  16.   (setq d1 (distance p1s p2s)
  17.         d2 (distance p1s p2d)
  18.         d3 (distance p1d p2s)
  19.         d4 (distance p1d p2d))
  20.   (cond
  21.     ((equal d1 (min d1 d2 d3 d4) 1e-5) (setq p1 p1s p2 p2s))
  22.     ((equal d2 (min d1 d2 d3 d4) 1e-5) (setq p1 p1s p2 p2d))
  23.     ((equal d3 (min d1 d2 d3 d4) 1e-5) (setq p1 p1d p2 p2s))
  24.     (T (setq p1 p1d p2 p2d))
  25.   )
  26.   (if (= z1 z2)
  27.     (vl-cmdf "line" p1 p2 "" ".Pedit" "L" "Yes" "J" Ss1 ss2 "" "")
  28.   )
  29.   (setvar "Cmdecho" 1)
  30.   (princ)
  31. )

点评

老师 你好 如果加上拟合命令,在后面直接加上就可以吗  详情 回复 发表于 2014-12-4 19:35
谢谢老师了指导 多谢了  详情 回复 发表于 2014-12-4 19:34
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 720个

财富等级: 财运亨通

 楼主| 发表于 2014-12-4 19:34:04 | 显示全部楼层

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

使用道具 举报

已领礼包: 720个

财富等级: 财运亨通

 楼主| 发表于 2014-12-4 19:35:54 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 05:25 , Processed in 0.329332 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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