找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 780|回复: 2

[编程申请]:这个程序有问题!进来看看!

[复制链接]
发表于 2006-11-14 09:15:32 | 显示全部楼层 |阅读模式

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

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

×
;;;一条线和多条线交点(表)
(defun c:gxjj ()
  (CMDLA0)
  (princ "\n选择第一条线 : ")
  (setq        s0 (ssget '((0 . "*LINE,LWPOLYLINE,ARC,CIRCLE")))
        S0 (ssname s0 0)
  )
  (princ "\n选择其它的线 : ")
  (setq        ss (ssget '((0 . "*LINE,LWPOLYLINE,ARC,CIRCLE")))
        i  0
  )
  (setq s1 (ssname ss 0)
        pt0 (xyp-get-Inters s0 s1 0)
        ptn '())
  (setq        pt1 (getpoint "\n左上角: ")
        ww  (UDIST 1 "" "\n宽度" ww pt1)
        hh  (UDIST 1 "" "\n字高" hh pt1)
        pt2 (polar pt1 0 ww)
        pt3 (polar pt2 (* pi 1.5) (* hh 2))
        pt4 (polar pt1 (* pi 1.5) (* hh 2))
  )  
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (command "pline" pt2 pt1 pt4 pt3 "")
    (setq ptn (xyp-get-Inters s0 s1 0)
          dist (distance ptn pt0)
          pt0 ptn
    )
    (command "text"
           "m"
           (inters pt1 pt3 pt2 pt4)
           hh
           0
           dist
    )
    (setq  pt1   pt4
           pt2   pt3
           pt4   (polar pt1 (* pi 1.5) (* hh 2))
           pt3   (polar pt2 (* pi 1.5) (* hh 2))
    )  
  (CMDLA1)
  )

总是说二维/三维参数类型有错误

是不是xyp-get-Inters 函数生成的是点集 distance数据类型不支持?

高手帮忙!换句话说怎么把关联表中的表数据提取出来 我用car也不行!~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-11-14 13:52:55 | 显示全部楼层
  1. [FONT=courier new]
  2. ;;;一条线和多条线交点(表)
  3. (defun c:test256 ()
  4.   (princ "\n选择第一条线 : ")
  5.   (setq        s0 (ssget '((0 . "*LINE,ARC,CIRCLE")))
  6.         S0 (ssname s0 0)
  7.   )
  8.   (princ "\n选择其它的线 : ")
  9.   (setq        ss (ssget '((0 . "*LINE,ARC,CIRCLE")))
  10.         i  -1
  11.   )
  12.   (while (setq s1 (ssname ss (setq i (1+ i))))
  13.     (setq pt0 (xyp-get-Inters s0 s1 0)
  14.           ptn (append ptn pt0)
  15.     )
  16.   )
  17.   ptn
  18. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-11-14 13:53:23 | 显示全部楼层
  1. [FONT=courier new];;;一条线和多条线的交点线长(表)
  2. (defun c:test ()
  3.   (cmdlasc0)
  4.   (princ "\n选择第一条线 : ")
  5.   (if (and (setq s1 (car (entsel "\n选择第一条线 : ")))
  6.            (member (xyp-get-dxf 0 s1)
  7.                    '("LINE"           "LWPOLYLINE"         "POLYLINE"
  8.                      "ARC"           "CIRCLE"         "ELLIPSE"
  9.                     )
  10.            )
  11.       )
  12.     (setq ptn (xyp-get-CurveIntersLeng s1 0))
  13.   )
  14.   (if (setq pt0 (getpoint "\n标注基点(左上角): "))
  15.     (foreach pt        ptn
  16.       (setq pt1        (car pt)
  17.             zb        (strcat        (rtos (car pt1) 2 3)
  18.                         " "
  19.                         (rtos (cadr pt1) 2 3)
  20.                         " "
  21.                         (rtos (caddr pt1) 2 3)
  22.                 )
  23.             l1        (rtos (cdr pt) 2 3)
  24.       )
  25.       (xyp-MkLaco "坐标" 1)
  26.       (xyp-text 4 pt0 zb)
  27.       (xyp-MkLaco "线长" 4)
  28.       (xyp-text 4 (polar pt0 0 (* sc 6000)) l1)
  29.       (setq pt0 (xyp-get-Pt2XYZ pt0 0 (* sc -500) 0))
  30.     )
  31.   )
  32.   (princ "\n交点线长(表): ")
  33.   (princ ptn)
  34.   (cmdla1)
  35. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 04:49 , Processed in 0.368422 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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