找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1397|回复: 15

[求助] [求助]:请大家帮我修改以下这个程序

[复制链接]
发表于 2005-11-3 07:45:09 | 显示全部楼层 |阅读模式

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

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

×
我做了一个自动注记界址点号的lisp.可是每次执行的时候都要用pl线将宗地重连一遍,才能使编号的顺序满足从西北角开始.能帮我修改修改吗?
(defun c:l (/) ;注记界址点号
  (graphscr)
  (setq oce (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (command "osnap" "off")
  (print "请选线")
  (setq h (/ (getreal "\n输入字体高度")))
  (command "layer" "m" "界址点" "c" "white" "" "")
  ;(setq l (/ (getreal "\n输入界址点起点号")))
  (setq wjm (getfiled "选择文件" "" "txt" 1))
;(setq wj (getstring "\请输入界址点坐标文件名:"))
  ;(setq wjm (strcat  "e:/hbxx/lisp/坐标文件/" wj ".wy"))
  ;(setq l 1)
  ;(setq o (- l 1))
  (setq xzj (ssget))
  (setq xzjc (sslength xzj))
  (setq j 0)
  (setq fp (open wjm "a"))
  (repeat xzjc
    (setq ym (ssname xzj j ))
    (setq a (entget ym))
    (setq n (length a ))
    (setq k 0)
    (setq i 0)
    (repeat n
      (setq m (nth k a))
      (if (= (car m) 10)
        (progn
          (setq x (nth 1 m))
          (setq x1 (rtos x 2 3 ))
          (setq y (nth 2 m ))
          (setq y1 (rtos y 2 3 ))
          (setq d (list x y ))
         (command "insert" "wyd1" d "1" "1" "0")
          (setq x2 (+ x h))
          (setq y2 (+ y h))
          (setq n (list x2 y2))
          (setq i (+ i 1))
          (if (< i 10)
           (progn
            (setq sx (strcat   (itoa i) " " ))
            (setq b1 (strcat  "j" sx))
            (command ".text" "m" n h 0 b1)
            (setq c (strcat b1 " , " y1 " , " x1 " , " "解算"))
            )
            (progn
             (setq sx (itoa i))
             (setq b1 (strcat  "j" sx))
             (command ".text" "m" n h 0 b1)
             (setq c (strcat b1 " , " y1 " , " x1 " , " "解算"))
            )
           )
          (write-line c fp)
        )
      )
      (setq k (+ k 1))
     )
     (setq j (+ j 1))
  )
(close fp)
  (setvar "cmdecho" oce)
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-11-7 21:53:34 | 显示全部楼层
这位的意思是说一封闭多义线图形,不管你是从何处开始画起的,要求程序可以自动注记各个顶点号,从西北角(即左上角)开始,按顺时针的方向编号注出来。

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

使用道具 举报

发表于 2005-11-7 23:27:03 | 显示全部楼层
哪个是西北角?如何界定?
  1. [FONT=courier new]
  2. ;;;多义线顶点坐标标注
  3. (load "xyp_lib")
  4. ;|加载通用函数(可在签名栏直接下载)
  5. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  6. 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
  7. ★1·在acad.lsp中增加(load"xyp_lib")
  8. ■2·在每个程序内增加(load"xyp_lib")
  9. ■3·在command下,输入(load"xyp_lib")
  10. ■4·在菜单.mnl中增加(load"xyp_lib")
  11. ■5·将xyp_lib.vlx文件直接拽到cad屏幕
  12. [COLOR=red] ★通用函数下载地址:[/COLOR]
  13. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  14. |;

  15. (defun c:test ()
  16.   (CMDLA0)
  17.   (jzhz)
  18.   (setq ss (ssget '((0 . "*POLYLINE")))
  19.         i -1)
  20.   (mkla "zbbz" 3)
  21.   (while (setq s1 (ssname ss (setq i (1+ i))))
  22.     (setq ptn (xyp-get-Vertexes s1 t))
  23.     (foreach pt ptn (x_zb pt))
  24.   )
  25.   (CMDLA1)
  26. )
  27. [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-9 07:53:27 | 显示全部楼层
请问:上面的楼主是怎样发你的那种图形到上面的.我做好我需要的样式了,不会发上来就压缩了.请大家多多帮帮忙
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-11-9 09:31:22 | 显示全部楼层
最初由 laoxie_1983 发布
[B]请问:上面的楼主是怎样发你的那种图形到上面的.我做好我需要的样式了,不会发上来就压缩了.请大家多多帮帮忙 [/B]

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

使用道具 举报

 楼主| 发表于 2005-11-9 14:02:19 | 显示全部楼层
谢谢上面的朋友!
  大家帮我看看该怎么办才能达最终的形式?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-9 16:00:56 | 显示全部楼层
“西北方向”无法自动识别,改为人工指定一点,然后顺时针标注即可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

 楼主| 发表于 2005-11-10 08:05:56 | 显示全部楼层
谢谢斑竹!
  请问扩展名为vlx的文件是什么编译的呀?怎样加载它在cad里?
请问斑竹有这方面的资料吗?我那本lisp里就没这些内容!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-10 08:11:28 | 显示全部楼层
最初由 laoxie_1983 发布
[B]谢谢斑竹!
  请问扩展名为vlx的文件是什么编译的呀?怎样加载它在cad里?
请问斑竹有这方面的资料吗?我那本lisp里就没这些内容! [/B]

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

使用道具 举报

发表于 2005-11-10 12:50:15 | 显示全部楼层
最初由 eachy 发布
[B]左上角 -〉Y 最大 X 最小(点集内) [/B]

'(1000 500)与'(2000 800)两个点,无法确定哪个是左上角。
即:点集内可能不存在同时满足Y 最大和X 最小的点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-11-10 14:10:58 | 显示全部楼层
谢谢!斑竹!
  我运行了.不能满足我的要求点号还是乱的.
 我想到一个方法,可以在图形里定一点.然后分别与每个端点计算角度,用最接近135度的那个点作为起始点.你看可以吗?vlx的文件是怎么编辑的呀?能教教我吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 19:06 , Processed in 0.424988 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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