yxp 发表于 2009-9-12 17:28:00

[原码]发一个小程序,圆圈序号

;;圆圈序号程序by. yxp
(defun c:yuan( / ss1 ssn n ssr ssb ssc ssd oldmod)
(setvar "cmdecho" 0) (if (null vl-load-com) (vl-load-com))
(princ "\n 选择要标注序号的圆:")
(setqss1 (ssget '((0 . "circle")))
      ssn (sslength ss1)
      n 0ssc '())
   (repeat ssn
   (setq ssb (cdr (assoc 10 (entget (ssname ss1 n))))
         ssr (cdr (assoc 40 (entget (ssname ss1 n))))
         ssd (list ssb (* 1.4 ssr)
                  (polar ssb (* -1 (+ (* 0.5 pi) 0.698132)) (* ssr 0.913782))
                  (polar ssb (* -1 (- (* 0.5 pi) 0.698132)) (* ssr 0.913782)))
         ssc (cons ssd ssc) n (1+ n)))
(setq ssc (vl-sort ssc (function (lambda (e1 e2)(< (car (car e1)) (car (car e2))))))
      ssc (vl-sort ssc (function (lambda (e1 e2)(> (cadr (car e1))(cadr (car e2)))))))
(setq n 0)
(command "undo" "be")(setq oldmod (getvar "osmode"))(setvar "osmode" 0)
(repeat ssn (command "text" "j" "f" (caddr (nth n ssc))(cadddr (nth n ssc))(cadr (nth n ssc)) (itoa (setq n (1+ n)))))
(setvar "osmode" oldmod)(command "undo" "e")
(princ)
)

注册 发表于 2022-12-1 13:25:32

客人 发表于 2009-9-12 18:34
字稍嫌大了点

    ssd (list ssb (* 1.0 ssr)

客人 发表于 2009-9-12 18:34:00

字稍嫌大了点

aicr317 发表于 2009-9-12 18:35:00

字稍嫌大了点

ljttjl 发表于 2009-9-12 21:05:00

<p>也可用以下圆编号程序:</p><p>明经CAD社区 → 工程篇 → 测绘与GIS → [原创]工程桩(圆桩)自动编号及其坐标提取程序 </p><p><a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=67742">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=67742</a><br/></p>

jh1005 发表于 2009-9-12 21:28:00

X坐标从小到大,Y坐标从大到小排序,要是行的Y坐标不相等,排序就不是左--&gt;右排序。

jxphklibin 发表于 2009-9-13 09:51:00

这要涉及到坐标的排序问题了,楼主不知道这个有没有考虑周到!

jxphklibin 发表于 2009-9-13 10:00:00

建议增加一个选项,按用户选择的顺序编号,比如有10个圆,先选择的圆先编号(选择的第一个编号1),后选择的圆后编号(最后选择的一个编号10)。

cyw2626 发表于 2009-9-13 21:54:00

<p>楼主,请看一下,我在新建的文件上用,很正常;但在我已经画好的图中用时就出现了以下情况。是不是与哪个东西有冲突呀</p><p>选择对象:<br/>未知命令“1”。按 F1 查看帮助。<br/>未知命令“2”。按 F1 查看帮助。<br/>未知命令“3”。按 F1 查看帮助。<br/>未知命令“4”。按 F1 查看帮助。<br/>未知命令“5”。按 F1 查看帮助。<br/>未知命令“6”。按 F1 查看帮助。<br/>未知命令“7”。按 F1 查看帮助。<br/>未知命令“8”。按 F1 查看帮助。<br/>未知命令“9”。按 F1 查看帮助。<br/>未知命令“10”。按 F1 查看帮助。<br/>未知命令“11”。按 F1 查看帮助。<br/>未知命令“12”。按 F1 查看帮助。<br/>未知命令“13”。按 F1 查看帮助。<br/>未知命令“14”。按 F1 查看帮助。<br/>未知命令“15”。按 F1 查看帮助。<br/>未知命令“16”。按 F1 查看帮助。</p>

yxp 发表于 2009-9-14 13:23:00

cyw2626发表于2009-9-13 21:54:00static/image/common/back.gif楼主,请看一下,我在新建的文件上用,很正常;但在我已经画好的图中用时就出现了以下情况。是不是与哪个东西有冲突呀选择对象:未知命令“1”。按 F1 查看帮助。未知命令“2”。按 F1 查看帮助

<p>当前字体样式指定了高度。</p>

ghgh0130 发表于 2009-12-2 11:06:00

字稍嫌大了点
页: [1] 2
查看完整版本: [原码]发一个小程序,圆圈序号