明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2081|回复: 1

[源码] 获取角点坐标

[复制链接]
发表于 2014-1-7 13:29:54 | 显示全部楼层 |阅读模式
;LISP矩形坐标提取*****************************************************************************************************************
(defun c:zzb ()
  (setvar "cmdecho" 0)
  (setq lujing (getvar "dwgprefix")) ;获取路径
  (setq wenjianming (getvar "dwgname")) ;获取当前文名
  (setq Fpath(strcat lujing wenjianming))
  (setq changdu (- (strlen Fpath) 4))
  (setq fname (substr Fpath 1 changdu))

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标  
  (setq ss (ssget));选择多线段
  (setq i 0)
  (setvar "pdmode" 33)
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  ;(setq StartpointN (getstring "\n请输入案件编号:"))
    (setq StartpointN "")
   (if (= StartpointN "") (setq StartpointN (setq fname2 (substr wenjianming 1 (setq changdu2 (- (strlen wenjianming) 4))))))
       (setq tx 10000000000000000);定义临时变量
       (setq ty 10000000000000000)
       (setq tmaxx -10000000000000000);定义临时变量
       (setq tmaxy -10000000000000000)  
       (setq waiweiw 0)
       (setq waiweih 0)

  (repeat (sslength ss)
    (setq ssn (ssname ss i))
    (setq endata (entget ssn))
    (setq n 0)
    (setq xh 1)(terpri)
    (repeat (length endata)
      (setq pp (nth n endata))
      (setq key (car pp))
      (if (= key 10)
(progn
   (setq x1 (cadr pp))
   (setq y1 (caddr pp))
   (setq x (rtos x1 2 4))
   (setq y (rtos y1 2 4))
   (setq PP (list x1 y1))
   (setq ppp (list (+ x1 0.8) (- y1 0.5)))
   (setq StartPointN1 (strcat StartpointN "-" (itoa xh)))
   (command "text"
     ppp
     1
     "0"
     (list x1 y1)
   )
           (if (> tx x1 )
              (progn                  
              (setq tx x1)
                )
           )
           (if (> ty y1 )
              (progn
              (setq ty y1)
              )
           )
             (if (< tmaxx x1 )
              (progn                  
                (setq tmaxx x1)
              )
           )
           (if (< tmaxy y1 )
              (progn
               (setq tmaxy y1)
              )
           )
   (setq xh (1+ xh))
)
      )
      (setq n (1+ n))
    )
    (setq i (1+ i))
  )
  (setvar "osmode" os)
       (setq waiweiw (- tmaxx tx))
       (setq waiweih (- tmaxy ty))
  (princ (list tx ty))
    (princ (list waiweiw waiweih ))
  (prin1)
);LISP矩形坐标提取*****************************************************************************************************************

发表于 2014-1-8 13:56:11 | 显示全部楼层
谢谢楼主代码分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 03:36 , Processed in 0.142080 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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