明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1524|回复: 2

求大师看下代码哪错了啊~~~

[复制链接]
发表于 2012-7-1 12:02:23 | 显示全部楼层 |阅读模式
1明经币
(defun C:FYYF (/ E ELIST I PT SS RAD)
  (if (setq SS (ssget '((0 . "LWPOLYLINE")))) ;_只选择矩形(方桩)
    (repeat (setq I (sslength SS)) ;_循环次数为桩的个数
      ;;桩的图元名E
      (setq E (ssname SS (setq I (1- I))))
      (setq ELIST (entget E))
      (setq PT1 (assoc 10 ELIST)
     pt2 (cdr (assoc 10 (vl-remove pt1 ELIST)))
     pt1 (cdr pt1)
     pt4 (cdr (assoc 10 (reverse ELIST)))
     pt (list (/ (+ (car pt2) (car pt4)) 2)
        (/ (+ (cadr pt2) (cadr pt4)) 2)
  ) ;_圆心坐标
     RAD (/ (distance pt1 pt2) 2) ;_圆半径
      )
      ;;绘制方桩
      (command "._CIRCLE" pt rad)
      (command "_layer" "m" "方圆变" "C" 240 "" "")
      ;(entdel E) ;_删除方桩,如果不删除在此行首加个半角分号
    )
  )
   (princ)
)
;;;======================子程序1开始============================
(defun get_pt (pt / data temp ptlist)
  (setq data pt)
  (foreach temp data
    (if (= 10 (car temp))
      (setq ptlist (cons (cdr temp) ptlist))
    )
  )
  (reverse ptlist)
)





总是有一个图层未改变。。。。。还有就是说我不想新建的"""方圆变"""这个层置于当前要怎么改啊,,
麻烦各位老师了谢谢~
附件: 您需要 登录 才可以下载或查看,没有账号?注册
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-7-1 12:02:24 | 显示全部楼层


  1. (defun C:FYYF (/ E ELIST I PT SS RAD)
  2.   (setq olyr (GetVar "Clayer"))
  3.   (command "_layer" "m" "方圆变" "C" 240 "" "")
  4.   (if (setq SS (ssget '((0 . "LWPOLYLINE")))) ;_只选择矩形(方桩)
  5.     (repeat (setq I (sslength SS)) ;_循环次数为桩的个数
  6.       ;;桩的图元名E
  7.       (setq E (ssname SS (setq I (1- I))))
  8.       (setq ELIST (entget E))
  9.       (setq PT1 (assoc 10 ELIST)
  10.             pt2 (cdr (assoc 10 (vl-remove pt1 ELIST)))
  11.             pt1 (cdr pt1)
  12.             pt4 (cdr (assoc 10 (reverse ELIST)))
  13.             pt  (list (/ (+ (car pt2) (car pt4)) 2)
  14.                       (/ (+ (cadr pt2) (cadr pt4)) 2)
  15.                 ) ;_圆心坐标
  16.             RAD (/ (distance pt1 pt2) 2) ;_圆半径
  17.       )
  18.       ;;绘制方桩
  19.       (command "._CIRCLE" pt rad)
  20.       
  21.       ;; (entdel E) ;_删除方桩,如果不删除在此行首加个半角分号
  22.     )
  23.   )
  24.   (SetVar "Clayer" olyr)
  25.   (princ)
  26. )
  27. ;;;======================子程序1开始============================
  28. (defun get_pt (pt / data temp ptlist)
  29.   (setq data pt)
  30.   (foreach temp data
  31.     (if (= 10 (car temp))
  32.       (setq ptlist (cons (cdr temp) ptlist))
  33.     )
  34.   )
  35.   ;; (reverse ptlist) ;
  36.   ptlist              ; 本程序直用即可
  37. )
回复

使用道具 举报

 楼主| 发表于 2012-7-1 13:27:34 | 显示全部楼层
谢啦谢谢~~~~~~~~~~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-21 21:55 , Processed in 0.185317 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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