找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2230|回复: 31

[原创]:架空线路排位用的模版绘制程序

[复制链接]

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2004-7-5 11:59:06 | 显示全部楼层 |阅读模式

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

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

×
架空线路排位用的模版绘制程序

  1.   [FONT=courier new]
  2. (defun c:mb (/ dclfn dcl_id c k l ptl ptj cenx ceny cancel x y ddjl str1)
  3.   (setq c 2)
  4.   (setq dclfn (findfile "mb.dcl"))
  5.   (if        (not dclfn)
  6.          (progn
  7.                 (alert "未找到文件 mb.dcl !!")
  8.                 (exit)
  9.          )
  10.   )
  11.   (setq dcl_id (load_dialog dclfn))
  12.   (if        (not (new_dialog "mb" dcl_id))
  13.          (progn
  14.                 (alert "无法加载此文件 mb.dcl !!")
  15.                 (exit)
  16.          )
  17.   )
  18.   (action_tile "bl5" "(setq c 2)")
  19.   (action_tile "bl2" "(setq c 5)")
  20.   (action_tile "accept" "(base_accept)(setq cancel 0)")
  21.   (action_tile "cancel" "(done_dialog)(setq cancel 1)")
  22.   (start_dialog)
  23.   (unload_dialog dcl_id)
  24.   (if        (= cancel 0)
  25.          (progn
  26.                 (setq x (- (/ l 2)))
  27.                 (while (<= x (/ l 2))
  28.                   (setq y (/ (- (/ (+ (exp (* 2 k x)) (exp (- (* 2 k x)))) 2) 1)
  29.                                                  (* 2 k)
  30.                                          )
  31.                   )
  32.                   (setq ptl (append ptl (list (list (* (/ x 10) c) (* y c)))))
  33.                   (setq x (+ 20 x))
  34.                 )
  35.                 (setq cenx (* l 0.05 c))
  36.                 (setq ptj (mapcar '(lambda (x) (mapcar '+ (list cenx 0) x)) ptl))
  37.                 (setq ceny (/ (- (cadr (car ptj)) 0) 3))
  38.                 (command "pline")
  39.                 (foreach n ptj (command n))
  40.                 (command "")
  41.                 (command "copy" (entlast) "" '(0 0) (list 0 (* ddjl c)))
  42.                 (command "line" (list cenx -20)(list cenx (+ (cadr(car ptj)) (* ddjl c))) "")
  43.                 (command "line" (list 0 ceny)(list (car (car (reverse ptj))) ceny) "")
  44.                 (setq str1 (strcat "K=" (rtos (* k 10000)) "E-04,h=" (rtos ddjl 2 1) "m"))
  45.                 (command "text" "j" "m" (list cenx (+ ceny 2.5)) "4" "0" str1)
  46.                 (if (= c 2)
  47.                         (command "text" "" "500/5000")
  48.                         (command "text" "" "200/2000")
  49.                 )
  50.          )
  51.   )
  52. )

  53. (defun base_accept ()
  54.   (setq k (/ (atof (get_tile "k")) 10000))
  55.   (setq l (atoi (get_tile "mbl")))
  56.   (setq ddjl (atof (get_tile "ddjl")))
  57.   (done_dialog)
  58. )  
  59. mb:dialog{
  60.         label="模版绘制";
  61.         :column{
  62.                 fixed_width=true;
  63.                 children_alignment=centered;
  64.                 :edit_box{
  65.                         label="本图K值(E-4):";
  66.                         key="k";
  67.                         edit_width=7;
  68.                         edit_limit=6;
  69.                         value="3.1000";
  70.                         height=1.1;
  71.                 }
  72.                 :edit_box{
  73.                         label="模版档距(米):";
  74.                         key="mbl";
  75.                         edit_width=7;
  76.                         edit_limit=4;
  77.                         value="1500";
  78.                         height=1.1;
  79.                 }
  80.                 :edit_box{
  81.                         label="对地距离(米):";
  82.                         key="ddjl";
  83.                         edit_width=7;
  84.                         edit_limit=4;
  85.                         value="7.5";
  86.                         height=1.1;
  87.                 }
  88.                 :row{
  89.                         children_alignment=top;
  90.                         :text{label="制图比例:";}
  91.                         :column{
  92.                                 :radio_button{
  93.                                         label="1/5000,1/500";
  94.                                         key="bl5";
  95.                                         value=1;
  96.                                 }
  97.                                 :radio_button{
  98.                                         label="1/2000,1/200";
  99.                                         key="bl2";
  100.                                 }
  101.                         }
  102.                 }       
  103.                 ok_cancel;
  104.         }
  105. }
  106. [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-5 14:24:03 | 显示全部楼层
晕,看不懂,是不是用AUTOCAD的LISP程序写的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2004-7-10 09:54:56 | 显示全部楼层
楼上的直接从帖子上拷贝下来存成文件就可以用了,还需要我给你传一份?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2004-7-11 09:47:31 | 显示全部楼层
将前两个函数保存成MB.LSP,从‘mb:dialog{‘这一句开始到完保存成MB.DCL,在ACAD中用APPLOAD加载后键入MB执行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-18 12:44:52 | 显示全部楼层
出现这些:用的是ACAD2005
命令: _appload 已成功加载 MB.LSP。
命令: ; 错误: 参数类型错误: numberp: nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-1-22 22:13:19 | 显示全部楼层
scan_2008兄,mb.dcl文件应copy到ACAD的support目录下,顺便感谢张8755斑竹提供这么好用的东东。请教一下,你怎么把弧垂曲线和两基杆子精确相交,然后再一一切除剩余的曲线条呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-25 09:28:45 | 显示全部楼层
刚开始命名颠倒了,搞了半天:)还是很好用的。不过现在不是软件排杆更方便吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2005-1-25 15:38:31 | 显示全部楼层
9楼的兄弟说的不是这个程序吧,而是我提供的排位程序中的功能吧,那个程序用的公式和这个不一样,上述的模板程序用的是以弧垂最低点为座标原点的公式,排位程序中用的是以悬挂点为座标原点的公式,所以不存在修剪多余部分的问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-25 18:55:56 | 显示全部楼层
zhang8755兄,我说的就是你提供的这个lsp程序,用它生成模版曲线后,套在杆位上,多余的线条怎么办呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2005-1-27 08:32:07 | 显示全部楼层
现在排位不用这个程序,模板程序是用在手工排位时的,用这个模板套在杆位上,多余的线条只好自己修剪掉了,可能会不准确,建议你试用我的排位程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2005-1-29 20:56:34 | 显示全部楼层
就在我的签名的链接--架空送电线路电气设计软件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 22:05 , Processed in 0.410094 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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