明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1986|回复: 6

[已解答] 出错,求帮助。管道用已知2点,求2点距离,坡度,并标注在图纸上,

[复制链接]
发表于 2013-7-16 16:31:27 | 显示全部楼层 |阅读模式
(defun c:YS1 ()
(setvar "CMDECHO" 0)
(if (and
      (setq pt1 (getpoint "\nFirst Point 点一 :"))
      (setq pt2 (getpoint pt1 "\nSecond Point 点二 :"))
     )
  (progn
  (setq xx (- (car pt2) (car pt1))
        yy (- (cadr pt2) (cadr pt1))
        num (/ yy 1.0 xx)
str (rtos (* 100 num) 2 1)
  )
  (setq dst (distance pt1 pt2)
        str1 (rtos (dst 2 1))
        dtt (strcat "DN300 L="str1 "m i="str "%")
        a1 (angle pt1 pt2)
        a2 (* (/ a1 pi) 180)
        ptt (polar pt1 a1 (/ dst 2))
  ))
     (command "text" "j" "bc" ptt 2.5 a2 dtt)
)
(princ)
)
求高手帮我看看
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-7-16 16:58:40 | 显示全部楼层
本帖最后由 vectra 于 2013-7-16 17:00 编辑

  1. (defun c:ys1 ()
  2.   (setvar "CMDECHO" 0)
  3.   (if (and
  4.         (setq pt1 (getpoint "\nFirst Point ?? :"))
  5.         (setq pt2 (getpoint pt1 "\nSecond Point ?? :"))
  6.       )
  7.     (progn
  8.       (setq xx        (- (car pt2) (car pt1))
  9.             yy        (- (cadr pt2) (cadr pt1))
  10.             num        (/ yy 1.0 xx)
  11.             str        (rtos (* 100 num) 2 1)
  12.       )
  13.       (setq dst         (distance pt1 pt2)
  14.             str1 (rtos dst 2 1) ;; FIX 1
  15.             dtt         (strcat "DN300 L=" str1 "m i=" str "%")
  16.             a1         (angle pt1 pt2)
  17.             a2         (* (/ a1 pi) 180)
  18.             ptt         (polar pt1 a1 (/ dst 2))
  19.       )
  20.       (command "text" "j" "bc" ptt 2.5 a2 dtt) ;; FIX2
  21.     )

  22.   )
  23.   (princ)
  24. )




FIX1 多余的括号删除
FIX2 command放置的位置有误




评分

参与人数 1明经币 +1 收起 理由
tranney + 1

查看全部评分

发表于 2013-7-16 17:09:24 | 显示全部楼层
首先声明一下,我不是高手。现将程序修改如下:
(defun c:YS1 ()
(setvar "CMDECHO" 0)
(if (and
      (setq pt1 (getpoint "\nFirst Point 点一 :"))
      (setq pt2 (getpoint pt1 "\nSecond Point 点二 :"))
     )
  (progn
  (setq xx (- (car pt2) (car pt1))      
        yy (- (cadr pt2) (cadr pt1))
        num (/ yy 1.0 xx)
str (rtos (* 100 num) 2 1)
  )
  (setq dst (distance pt1 pt2)
        str1 (rtos dst 2 1)
        dtt (strcat "DN300 L="str1 "m i="str "%")
        a1 (angle pt1 pt2)
        a2 (* (/ a1 pi) 180)
        ptt (polar pt1 a1 (/ dst 2))
  )
(command "text" "j" "bc" ptt 2.5 a2 dtt)
)
)
(princ)
)
发表于 2013-7-16 17:21:12 | 显示全部楼层
楼上两位正解
 楼主| 发表于 2013-7-16 17:22:15 | 显示全部楼层
谢谢各位大哥热心帮忙
发表于 2013-7-30 15:24:51 | 显示全部楼层
呵呵,想不到我也才参与过呀
发表于 2024-1-4 21:13:25 | 显示全部楼层
vectra 发表于 2013-7-16 16:58
FIX1 多余的括号删除
FIX2 command放置的位置有误

前辈好,请问能不能实现动态确定文字标注位置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-20 14:25 , Processed in 0.289623 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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