找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: xyp1964

[原创]:折断线、波浪线、波折线、云图线程序(最新版,免币!)

[复制链接]
发表于 2004-11-14 00:02:30 | 显示全部楼层
最初由 xyp1964 发布
[B]回复flowerson:
发个示意图看看!
控制鼠标的移动速度,也许会稍有改进。 [/B]

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

使用道具 举报

发表于 2004-11-14 10:59:54 | 显示全部楼层
……
(setq pt1 (getpoint "\n起点位置<退出> :"))
(if pt1
  (setq pt2 (getpoint pt1 "\n终点位置<退出> :"))
)
(while pt2
  ……
  (if pt1
    (setq pt2 (getpoint pt1 "\n终点位置<退出> :"))
  )
)
……

试试:

  1. (if (and (setq pt1 (getpoint "\n起点位置<退出> :"))
  2.          (setq pt2 (getpoint pt1 "\n终点位置<退出> :"))
  3.     )
  4.    (while pt2
  5.     ……
  6.      (if pt1
  7.        (setq pt2 (getpoint pt1 "\n终点位置<退出> :"))
  8.      )
  9.    )
  10. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-14 11:33:15 | 显示全部楼层
程序赶快试试吧,斑竹出手,非同小可呀!这下…………应该没有问题了吧????
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-14 13:44:10 | 显示全部楼层
自己试试吧,或请斑竹出手解惑!
[php]
;;;折断线
(DEFUN C:test (/ PT1 PT2 PT3 PT4 PT5 PT6 PT7 ANG)
  (CMDLA0)
  (setq        NO2 (@Ureal 1 "" "\n折断长" NO2)
        no1 (/ no2 2)
        no3 (@Ureal 1 "" "\n两端出头长" NO3)
  )
  (if (setq pt1 (getpoint "\n起点位置<退出> :"))
    (setq pt2 (getpoint pt1 "\n终点位置<退出> :"))
  )
  (while pt2
    (setq pt3 (LIST (+ (CAR PT1) (/ (- (CAR PT2) (CAR PT1)) 2))
                    (+ (CADR PT1) (/ (- (CADR PT2) (CADR PT1)) 2))
              )
    )
    (setq ang (angle pt1 pt2)
          pt4 (POLAR PT3 ANG no1)
          pt5 (POLAR PT3 ANG (- 0 no1))
          pt6 (POLAR PT3 (+ (/ PI 2) ANG) (* 1.50 no1))
          pt7 (POLAR PT3 (- ANG (/ PI 2)) (* 1.50 no1))
          pt1 (polar pt1 (+ ang pi) no3)
          pt2 (polar pt2 ang no3)
    )
    (setvar "plinewid" 0)
    (setq osm (getvar "osmode"))
    (SETVaR "osmode" 0)
    (command "PLINE" PT1 PT5 PT6 PT7 PT4 PT2 "")
    (SETVaR "osmode" osm)
    (if        (setq pt1 (getpoint "\n起点位置<退出> :"))
      (setq pt2 (getpoint pt1 "\n终点位置<退出> :"))
    )
  )
  (CMDLA1)
)
;;;-------------------------------------------
;;;通用子程序
;;;
(defun CMDLA0 ()
  (setq cmdech (getvar "CMDECHO"))
  (setq oom (getvar "orthomode"))
  (setq osm (getvar "osmode"))
  (SETQ LA (getvar "clayer"))
  (setq rmode (getvar "regenmode"))
  (setq pw (getvar "plinewid"))
  (setvar "regenmode" 0)
  (setvar "CMDECHO" 0)
  (princ)
)

;;;
(defun CMDLA1 ()
  (setvar "CMDECHO" cmdech)
  (setvar "orthomode" oom)
  (setvar "osmode" osm)
  (setvar "clayer" LA)
  (setvar "regenmode" rmode)
  (setvar "plinewid" pw)
  (princ)
)
;;;
(defun @ureal (bit kwd msg def / inp)
  (if def
    (setq msg (strcat "\n" msg "<" (rtos def 2) ">: ")
          bit (* 2 (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ": "))
  )
  (initget bit kwd)
  (setq inp (getreal msg))
  (if inp
    inp
    def
  )
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-14 18:03:29 | 显示全部楼层
试改如下
[php]

;;;折断线
(DEFUN C:test (/ PT1 PT2 PT3 PT4 PT5 PT6 PT7 ANG)
  (CMDLA0)
  (setq    NO2 (@Ureal 1 "" "\n折断长" NO2)
    no1 (/ no2 2)
    no3 (@Ureal 1 "" "\n两端出头长" NO3)
  )
  (while (and(setq pt1 (getpoint "\n起点位置<退出> :"))
          (setq pt2 (getpoint pt1 "\n终点位置<退出> :")) )
    (setq pt3 (LIST (+ (CAR PT1) (/ (- (CAR PT2) (CAR PT1)) 2))
            (+ (CADR PT1) (/ (- (CADR PT2) (CADR PT1)) 2))
          )
    )
    (setq ang (angle pt1 pt2)
      pt4 (POLAR PT3 ANG no1)
      pt5 (POLAR PT3 ANG (- 0 no1))
      pt6 (POLAR PT3 (+ (/ PI 2) ANG) (* 1.50 no1))
      pt7 (POLAR PT3 (- ANG (/ PI 2)) (* 1.50 no1))
      pt1 (polar pt1 (+ ang pi) no3)
      pt2 (polar pt2 ang no3)
    )
    (setvar "plinewid" 0)
    (setq osm (getvar "osmode"))
    (SETVaR "osmode" 0)
    (command "PLINE" PT1 PT5 PT6 PT7 PT4 PT2 "")
    (SETVaR "osmode" osm)  
  )
  (CMDLA1)
)
;;;-------------------------------------------
;;;通用子程序
;;;
(defun CMDLA0 ()
  (setq cmdech (getvar "CMDECHO"))
  (setq oom (getvar "orthomode"))
  (setq osm (getvar "osmode"))
  (SETQ LA (getvar "clayer"))
  (setq rmode (getvar "regenmode"))
  (setq pw (getvar "plinewid"))
  (setvar "regenmode" 0)
  (setvar "CMDECHO" 0)
  (princ)
)

;;;
(defun CMDLA1 ()
  (setvar "CMDECHO" cmdech)
  (setvar "orthomode" oom)
  (setvar "osmode" osm)
  (setvar "clayer" LA)
  (setvar "regenmode" rmode)
  (setvar "plinewid" pw)
  (princ)
)
;;;
(defun @ureal (bit kwd msg def / inp)
  (if def
    (setq msg (strcat "\n" msg "<" (rtos def 2) ">: ")
      bit (* 2 (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ": "))
  )
  (initget bit kwd)
  (setq inp (getdist msg))
  (if inp
    inp
    def
  )
)

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

使用道具 举报

发表于 2004-11-15 21:03:23 | 显示全部楼层
老大,你能不能按斑竹的程序改改你的程序呀?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-15 22:02:48 | 显示全部楼层
多谢斑竹指教,再修改,见1楼!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2004-11-22 16:36:35 | 显示全部楼层
最初由 xyp1964 发布
[B]下一步修改将改为对话框。 [/B]

支持改为对话框,现在画一条线要回车的次数太多,一不小心多按一次又得重新来过。如果能在对话框中加入预览功能就更好了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-22 18:41:59 | 显示全部楼层
“预览功能”功能偶可不会,不过可以增加图像(幻灯片)显示功能。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-11-25 08:44:16 | 显示全部楼层
xyp1964  兄,你的程序是fas格式,可以启动cad时自动加载吗?
用aut 管理不支持fas格式的,能否编成vlx 格式
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 15:57 , Processed in 0.241836 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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