找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2742|回复: 25

[LISP程序]:[蜜蜂软体]编号程序For R2002(源代码公开)

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2004-3-13 22:26:57 | 显示全部楼层 |阅读模式

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

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

×
;;说明:setclayer 函数为设置图层,setstyle 为设置字体;详见后面帖子
  本程序需要CAD的扩展工具库,若没有请下载本文附件

[php]
;;;        ======================================
;;;        ‖        [基础绘图系统2.5]         ‖
;;;        ‖          桩位编号程序            ‖
;;;        ‖              V2.5                ‖
;;;        ‖      蜜蜂软体工作室 杨明峰       ‖
;;;        ======================================
;;;
;;;
;;;

(setq bh_began 1)
(setq text_offset 200.0)
;;(setq Newtextsize (getvar "textsize"))
(setq Newtextsize 350)
(setq texthome "")
(setq textend "")
(setq prog_dimzh T)
(defun c:DimStake_n (/                   setini         err_new
                     setclose           textstyle_old zbh_ok
                     bho           dimzin_old         TEXTSIZE_old
                     err_old           tmp pt         pt1
                     zbh_zw           textoffset         settexthome
                     settextend           settextbegan         setclose_bh
                     settexth ss ee Drawtxt
                    )
;;;--------------------------------------------------------
;;;桩位编号初始化
  (defun setini        ()
    (setq textstyle_old (getvar "textstyle"))
    (setvar "cmdecho" 0)
    (setq dimzin_old (getvar "Dimzin"))
    (setvar "dimzin" 8)
    (setq err_old *error*)
    (setq *error* err_new)
    (gc)
;;以下为设置图层,因该函数已经整合在我的函数库中,所以在这里取消
   ;; (setclayer (list *Stake_num_layer* 3))
    ;;判断有无字类型ZBH
   ;; (setstyle (list
;;                (cons 2 "ZBH")
;;                '(3 . "txt")
;;                '(41 . 0.6)
;;
;;              ) ;_ 结束list
;;    ) ;_ 结束setstyle
    (command "_.undo" "be")

  ) ;_结束defun
;;;--------------------
  (defun err_new (msg)
    (setclose)
    (princ msg)
  ) ;_ 结束defun
  ;;-----------------
;;;恢复环境
  (defun setclose ()
    (setq *error* err_old)
    (setclayer '())
    (command "_.erase"ss "")
    (setvar "textstyle" textstyle_old)
    (setvar "dimzin" dimzin_old)
    (command "_.undo" "e")
    (setvar "cmdecho" 1)
    (Princ)
  ) ;_结束defun

;;;  -----------------------------------------------------
;;;--------------------------------------------
;;;按桩位编号
  (defun zbh_zw
         (/ sszwd sszwd1 sszw sslen loop_i loop_j ee pt0 ty bn pt)
    (defun zbh_draw (slist / slen loop_i)
      ;;给表sszwd根据从左到右,从上到下的规则排序(插入法).
      (setq slist (NetBee_px slist (list 1 < >))
            slen  (length slist)
      ) ;_ 结束setq
      ;;逐一从表sszwd中提取坐标进行标注
      (setq osmode_old (getvar "osmode"))
      (setvar "osmode" 0)
      (setq loop_i 0)
      (while (<= loop_i (1- slen))
        ;;关闭捕捉方式
        (setq pt (nth loop_i slist))
        (setq
          pt1
           (list (+ (car pt) text_offset) (+ (cadr pt) text_offset))
        ) ;_结束setq

        ;;将编号加上前后缀
        (setq zbh_ok (strcat texthome (itoa bh_began) textend))

        (command "_.text" "s" "ZBH" pt1 Newtextsize "0d" zbh_ok)
        ;;(setq bho (entlast))
        ;;(command "move" bho "" pt pt1)
        (setq bh_began (1+ bh_began))

        ;;恢复捕捉方式
        (setq loop_i (1+ loop_i))
      ) ;_结束while
      (setvar "osmode" osmode_old)
    ) ;_ 结束defun
    ;;-------------------
    (INITGET "A C")
    (setq
      tmp (getstring
            "\n请选择编号方式[统一编号(A)/按承台编号(C)]<统一编号>:"
          ) ;_ 结束getstring
    ) ;_ 结束setq
    (if        (or (= tmp "C")
            (= tmp "c")
        ) ;_ 结束or
      (progn
        (prompt "\n选择承台边线(多义线):")
        (if (setq sszw
                   (ssget
                     (list '(0 . "LWPOLYLINE") (cons 8 *Stake_bx_style*))
                   ) ;_ 结束ssget
            ) ;_ 结束setq
          (setq sslen (sslength sszw))
          (setq sslen 0)
        ) ;_ 结束if
        (setq
          sszwd        '()
          loop_i 0
        ) ;_ 结束setq
        (while (< loop_i sslen)
          (setq ee (ssname sszw loop_i))
          (cond
            ((= (dxf 0 ee) "LWPOLYLINE")
             (setq tmp          (entget ee)
                   loop_j 0
                   sszwd  '()
             ) ;_ 结束setq
             (while (< loop_j (length tmp))
               (if (= (car (nth loop_j tmp)) 10)
                 (setq
                   sszwd (append sszwd (list (cdr (nth loop_j tmp))))
                 ) ;_ 结束setq
               ) ;_ 结束if
               (setq loop_j (1+ loop_j))
             ) ;_ 结束while
             (setq tmp          (ssget "_CP" sszwd (list (cons 8 *Stake_layer*)))
                   loop_j 0
                   sszwd  '()
             ) ;_ 结束setq
             (while (and tmp (< loop_j (sslength tmp)))
               (setq ee            (ssname tmp loop_j)
                     loop_j (1+ loop_j)
               ) ;_ 结束setq
               (if (not (member (dxf 10 ee) sszwd))
                 (setq sszwd (append sszwd (list (dxf 10 ee))))
               ) ;_ 结束if
             ) ;_ 结束while
             (setq bh_began 1)
             (zbh_draw sszwd)
            )
            ((= (dxf 0 ee) "INSERT")
             (setq pt0          (dxf 10 ee)
                   ty          (dxf 2 ee)
                   bn          (tblobjname "block" ty)
                   sszwd  '()
                   sszwd1 '()
             ) ;_ 结束setq
             (if (not (or (= ty "_FZ_K")
                          (= ty "_FZ_S")
                          (= ty "_YZ_K")
                          (= ty "_YZ_S")
                      ) ;_ 结束or
                 ) ;_ 结束not
               (progn (setq ee bn
                            pt (dxf 10 ee)
                      ) ;_ 结束setq
                      (while (= (type (setq ee (entnext ee))) 'ENAME)
                        (setq ty (dxf 2 ee))
                        (if (and (= (dxf 0 ee) "INSERT")
                                 (or (= ty "_FZ_K")
                                     (= ty "_FZ_S")
                                     (= ty "_YZ_K")
                                     (= ty "_YZ_S")
                                 ) ;_ 结束or
                            ) ;_ 结束and
                          (setq
                            sszwd (append
                                    sszwd
                                    (list (list        (+ (- (car (dxf 10 ee))
                                                      (car pt)
                                                   ) ;_ 结束-
                                                   (car pt0)
                                                ) ;_ 结束+
                                                (+ (- (cadr (dxf 10 ee))
                                                      (cadr pt)
                                                   ) ;_ 结束-
                                                   (cadr pt0)
                                                ) ;_ 结束+
                                                (+ (- (caddr (dxf 10 ee))
                                                      (caddr pt)
                                                   ) ;_ 结束-
                                                   (caddr pt0)
                                                ) ;_ 结束+
                                          ) ;_ 结束list
                                    ) ;_ 结束list
                                  ) ;_ 结束append
                          ) ;_ 结束setq
                        ) ;_ 结束if
                      ) ;_ 结束while
               ) ;_ 结束progn
             ) ;_ 结束if
             (setq bh_began 1)
             (zbh_draw sszwd)
            )
          ) ;_ 结束cond
          (setq loop_i (1+ loop_i))
        ) ;_ 结束while

      ) ;_ 结束progn
      (progn
        (setq sszw (ssget '(
                            ;;(8 . "桩位")
                           )
                   ) ;_ 结束ssget
        ) ;_ 结束setq
        (if sszw
          (setq sslen (sslength sszw))
          (setq sslen nil)
        ) ;_ 结束if
        (setq loop_i 1)
        (if (< sslen 5000)
          (prompt "\n 正在进行计算,请稍等...\n")
          (prompt
            "\n 数据过多,计算时间可能需要几分钟,请等待......\n"
          ) ;_ 结束prompt
        ) ;_ 结束if
        ;;提取所有桩位坐标到表sszwd
        (while (<= loop_i sslen)
          (setq ee (ssname sszw (1- loop_i)))

          (cond
            ((= (dxf 0 ee) "INSERT")
             (setq pt0 (dxf 10 ee)
                   ty  (dxf 2 ee)
                   bn  (tblobjname "block" ty)
             ) ;_ 结束setq
             (if (or (= ty "_FZ_K")
                     (= ty "_FZ_S")
                     (= ty "_YZ_K")
                     (= ty "_YZ_S")
                 ) ;_ 结束or
               (if (not (member (dxf 10 ee) sszwd))
                 (setq sszwd (append sszwd (list (dxf 10 ee))))
               ) ;_ 结束if
               (progn
                 (setq ee bn
                       pt (dxf 10 ee)
                 ) ;_ 结束setq
                 (while        (= (type (setq ee (entnext ee))) 'ENAME)
                   (setq ty (dxf 2 ee))
                   (if (and (= (dxf 0 ee) "INSERT")
                            (or        (= ty "_FZ_K")
                                (= ty "_FZ_S")
                                (= ty "_YZ_K")
                                (= ty "_YZ_S")
                            ) ;_ 结束or
                       ) ;_ 结束and
                     (if (not (member (list (+ (- (car (dxf 10 ee))
                                                  (car pt)
                                               ) ;_ 结束-
                                               (car pt0)
                                            ) ;_ 结束+
                                            (+ (- (cadr (dxf 10 ee))
                                                  (cadr pt)
                                               ) ;_ 结束-
                                               (cadr pt0)
                                            ) ;_ 结束+
                                            (+ (- (caddr (dxf 10 ee))
                                                  (caddr pt)
                                               ) ;_ 结束-
                                               (caddr pt0)
                                            ) ;_ 结束+
                                      ) ;_ 结束list
                                      sszwd
                              ) ;_ 结束member
                         ) ;_ 结束not
                       (setq
                         sszwd (append
                                 sszwd
                                 (list (list (+        (- (car (dxf 10 ee))
                                                   (car pt)
                                                ) ;_ 结束-
                                                (car pt0)
                                             ) ;_ 结束+
                                             (+        (- (cadr (dxf 10 ee))
                                                   (cadr pt)
                                                ) ;_ 结束-
                                                (cadr pt0)
                                             ) ;_ 结束+
                                             (+        (- (caddr (dxf 10 ee))
                                                   (caddr pt)
                                                ) ;_ 结束-
                                                (caddr pt0)
                                             ) ;_ 结束+
                                       ) ;_ 结束list
                                 ) ;_ 结束list
                               ) ;_ 结束append
                       ) ;_ 结束setq
                     ) ;_ 结束if
                   ) ;_ 结束if
                 ) ;_ 结束while
               ) ;_ 结束progn
             ) ;_ 结束if
            )
            ((= (dxf 8 ee) *Stake_layer*)
             (if (not (member (dxf 10 ee) sszwd))
               (setq
                 sszwd
                  (append
                    sszwd
                    (list (dxf 10 ee))
                  ) ;_ 结束append
               ) ;_ 结束setq
             ) ;_ 结束if
            )
          ) ;_ 结束cond
          (setq loop_i (1+ loop_i))
        ) ;_结束while
        (zbh_draw sszwd)
      ) ;_ 结束progn
    ) ;_ 结束if
  ) ;_ 结束defun

;;;------------------------------------------------------------
  (defun textoffset (/ tmp)
    (setq tmp text_offset)
    (prompt "\n请输入标注偏移量<")
    (princ tmp)
    (prompt ">:")
    (if        (setq tmp (getreal))
      (progn(setq text_offset tmp))
    ) ;_结束if
  ) ;_结束defun
;;;--------------------------------------------------------------
  (defun settexthome (/ tmp)
    (if        (/=
          (setq
            tmp        (getstring
                  (strcat "\n请输入编号前缀(无前缀请输入\"*\")<"
                          texthome
                          ">:"
                  ) ;_ 结束strcat
                ) ;_ 结束getstring
          ) ;_ 结束setq
        ) ;_ 结束/=
      (setq texthome tmp)
    ) ;_ 结束if
    (if        (= texthome "*")
      (SETQ texthome "")
    ) ;_结束if
  ) ;_结束defun

;;;--------------------------------------------------------
  (defun settextend (/ tmp)
    (if        (/=
          (setq
            tmp        (getstring
                  (strcat "\n请输入编号后缀(无后缀请输入\"*\")<"
                          textend
                          ">:"
                  ) ;_ 结束strcat
                ) ;_ 结束getstring
          ) ;_ 结束setq
        ) ;_ 结束/=
      (setq textend tmp)
    ) ;_结束if
    (if        (= textend "*")
      (SETQ textend "")
    ) ;_结束if
  ) ;_结束defun
;;;--------------------------------------------------------
  (defun settextbegan (/ tmp)
    (if        (setq tmp
               (getint
                 (strcat "\n起始编号:1/2/3...<" (itoa bh_began) ">:")
               ) ;_结束getint
        ) ;_结束setq
      (setq bh_began tmp)
    ) ;_结束if
  ) ;_结束defun

;;;-----------------------------
;;;删除原文字,并重新绘制文字
(defun Drawtxt()
      ;;关闭捕捉方式
     (if ss(command "_.erase"ss""))
     (setq osmode_old (getvar "osmode"))
     (setvar "osmode" 0)
     (setq pt '(0 0)
       pt1 (list (+ (car pt) text_offset) (+ (cadr pt) text_offset))
     ) ;_结束setq

     ;;将编号加上前后缀
     (setq zbh_ok (strcat texthome (itoa bh_began) textend))

     (command "_.text" "s" "ZBH" pt1 Newtextsize "0d" zbh_ok)
     (redraw (entlast) 2)
     (setvar "osmode" osmode_old)
     (setq ss (ssadd))
  (ssadd (entlast) ss)
  )
;;;-------------------------------------------------------
;;;设置字高函数
  (defun settexth (/ tmp)
    (if        (setq
          tmp (getreal (strcat "\n输入字高:<" (rtos Newtextsize) ">:"))
        ) ;_ 结束setq
      (setq Newtextsize tmp)
    ) ;_结束if

  ) ;_结束defun
;;;-------------------------------------------------------
  ;;(defun *error* (msg)
  ;; (setclose_bh)
  ;;) ;_结束defun

;;;----------------------------------------

  (prompt "\n桩位自动编号标注程序")

  ;;初始化
  (setini)
  ;;用while控制标注的循环,回车退出标注
  (while
    (progn
      
     ;;(setq bho (entlast))
     ;;(command "move" bho "" pt pt1)
      (while
        (progn
          ;;绘制文字
          (Drawtxt)
          (setq        tmp
                 (strcat "\n选择标注点"
                         " [前缀(M):"
                         texthome
                         "/后缀(E):"
                         textend
                         "/字高(H):"
                         (rtos Newtextsize)
                         "/偏移量(O):"
                         (rtos text_offset)
                         "/编号(N):"
                         (itoa bh_began)
                         "/选择工程桩(Z)]:"

                 ) ;_结束strcat
          ) ;_结束setq
          (initget "M E H O N Z")
         ; (setq pt (getpoint tmp))
          (setq pt (acet-ss-drag-move ss '(0 0 0) tmp))
          (if (= (type pt) 'STR)
            (cond ((= pt "M") (settexthome) (not nil))
                  ((= pt "E") (settextend) (not nil))
                  ((= pt "H") (settexth) (not nil))
                  ((= pt "O") (textoffset) (not nil))
                  ((= pt "N") (settextbegan) (not nil))
                  ((= pt "Z") (zbh_zw) (not nil))
                  (t t)
            ) ;_结束cond
            (not t)
          ) ;_结束if

        ) ;_结束progn
      ) ;_结束while
      (if (not pt)
        (not t)
        (not nil)
      ) ;_结束if
    ) ;_结束progn
    (setq osmode_old (getvar "osmode"))
     (setvar "osmode" 0)
     (command "Move" ss "" '(0 0) pt)
     (setq bh_began (1+ bh_began)
           ss(ssadd)
           )

     ;;恢复捕捉方式
     (setvar "osmode" osmode_old)
  ) ;_结束while
  (command "_.erase" ss "")
  (setclose)
) ;_结束defun
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-13 22:38:53 | 显示全部楼层
我做室外管线设计,也用到多义线,希望您提供有关承台边线(多义线)的图纸简图一张。多谢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2004-3-14 13:47:51 | 显示全部楼层
这里把函数也附上吧

  1. ;;;====================================================
  2. (defun setclayer (slist / cname cor ctmp tmp lsty)
  3.   (setq        ctmp (strcat "\n(setclayer '(层名 颜色))!"
  4.                      "\n(setclayer "轴线")设置当前图层"
  5.              ) ;_ end of strcat
  6.   ) ;_ end of setq
  7.   (cond        ((= (type slist) 'LIST)
  8.          (setq cname (car slist)
  9.                cor   (cadr slist)
  10.                lsty (caddr slist)
  11.          ) ;_ end of setq
  12.          (if (not lsty)(setq lsty "CONTINUOUS"))
  13.         )
  14.         ((= (type slist) 'STR)
  15.          (setq cname slist)
  16.         )
  17.   ) ;_ end of cond
  18.   (cond        ((= slist '?)
  19.          (alert ctmp)
  20.         )
  21.         ((not slist)
  22.          (if clayer_old
  23.            (setvar "clayer" clayer_old)
  24.            (setvar "clayer" "0")
  25.          ) ;_ end of if
  26.         )
  27.         ((and cname cor (= (type cname) 'STR) (= (type cor) 'INT))
  28.          (if (and (tblobjname "LAYER" cname)
  29.                   (setq tmp (entget (tblobjname "LAYER" cname)))
  30.              ) ;_ 结束and
  31.            (progn (setq        tmp (subst (cons 62 cor)
  32.                                    (assoc 62 tmp)

  33.                                    tmp
  34.                             ) ;_ 结束subst
  35.                         tmp (subst (cons 70 0) (assoc 70 tmp) tmp)
  36.                   ) ;_ 结束setq
  37.                   (entmod tmp)
  38.            ) ;_ 结束progn
  39.            (entmake (list
  40.                       '(0 . "LAYER")
  41.                       '(100 . "AcDbSymbolTableRecord")
  42.                       '(100 . "AcDbLayerTableRecord")
  43.                       (cons 6 lsty)
  44.                       (cons 62 cor)
  45.                       '(70 . 0)
  46.                       (cons 2 cname)
  47.                     ) ;_ end of list
  48.            ) ;_ end of entmake

  49.          ) ;_ end of if
  50.          (setq clayer_old (getvar "clayer"))
  51.          (setvar "clayer" cname)
  52.         )
  53.         ((and (= (type cname) 'STR))
  54.          (if (setq tmp (entget (tblobjname "LAYER" cname)))
  55.            (progn (setvar "clayer" cname)
  56.                   (setq        tmp (subst (cons 62 cor)
  57.                                    (assoc 62 tmp)
  58.                                    tmp
  59.                             ) ;_ 结束subst
  60.                         tmp (subst (cons 70 0) (assoc 70 tmp) tmp)
  61.                   ) ;_ 结束setq
  62.                   (entmod tmp)
  63.            ) ;_ 结束progn
  64.            (progn (entmake (list
  65.                              '(0 . "LAYER")
  66.                              '(100 . "AcDbSymbolTableRecord")
  67.                              '(100 . "AcDbLayerTableRecord")
  68.                              (cons 6 lsty)
  69.                              (cons 62 7)
  70.                              '(70 . 0)
  71.                              (cons 2 cname)
  72.                            ) ;_ end of list
  73.                   ) ;_ end of entmake
  74.            ) ;_ end of progn
  75.          ) ;_ end of if
  76.          (setq clayer_old (getvar "clayer"))
  77.          (setvar "clayer" cname)
  78.         )
  79.         (T (progn (alert (strcat "\n数据错误:" ctmp))))
  80.   ) ;_ end of cond
  81.   (princ)
  82. ) ;_ end of defun

  83. ;;;========================================
  84. (defun setstyle        (slist / tlist textn textf ctmp tf)
  85.   (setq        ctmp (strcat
  86.                "\n(setstyle '((2. "宋体")(3 . "SIMSUN.TTF")(40 . 0)(41 . 0.8)...)!"
  87.                "\n(setstyle "宋体")设置当前字体"
  88.                "\n各参数意义如下:"
  89.                "\n2        样式名称"
  90.                "\n40        固定文字高度;如果高度不固定则值为 0"
  91.                "\n41        宽度因子"
  92.                "\n50        倾斜角"
  93.                "\n71        文字生成标志:"
  94.                "\n        2 = 文字反向(X 轴方向镜像)"
  95.                "\n        4 = 文字倒置(Y 轴方向镜像)"
  96.                "\n42        最后使用的高度"
  97.                "\n3        主字体文件名"
  98.                "\n4        大字体文件名;如果没有则为空"
  99.               ) ;_ 结束strcat
  100. ;_ end of strcat
  101.         tf   nil
  102.   ) ;_ end of setq

  103.   (if (= (type slist) 'LIST)
  104.     (setq textn        (if (assoc 2 slist)
  105.                   (cdr (assoc 2 slist))
  106.                 ) ;_样式名称
  107.           textf        (if (assoc 3 slist)
  108.                   (cdr (assoc 3 slist))
  109.                 ) ;_主字体名称
  110. ;_文字生成标志2=文字反向(X轴方向镜像)4=文字倒置(Y轴方向)
  111.           slist        (if (not (assoc 3 slist))
  112.                   (progn (setq textf "txt") (append slist '((3 . "txt"))))
  113.                   slist
  114.                 ) ;_ end of if
  115.           slist        (if (not (assoc 40 slist))
  116.                   (append slist '((40 . 0.0)))
  117.                   slist
  118.                 ) ;_ end of if
  119.           slist        (if (not (assoc 41 slist))
  120.                   (append slist '((41 . 1.0)))
  121.                   slist
  122.                 ) ;_ end of if
  123.           slist        (if (not (assoc 50 slist))
  124.                   (append slist '((50 . 0.0)))
  125.                   slist
  126.                 ) ;_ end of if
  127.           slist        (append        '((0
  128.                            .
  129.                            "STYLE"
  130.                           )
  131.                          )
  132.                         '((100
  133.                            .
  134.                            "AcDbSymbolTableRecord"
  135.                           )
  136.                          )
  137.                         '((100
  138.                            .
  139.                            "AcDbTextStyleTableRecord"
  140.                           )
  141.                          )
  142.                         '((70
  143.                            .
  144.                            0
  145.                           )
  146.                          )
  147.                         slist
  148.                 ) ;_ end of append

  149.     ) ;_ end of setq
  150.   ) ;_ end of if
  151.   (if (= (type slist) 'STR)
  152.     (setq textn        slist
  153.     ) ;_ end of setq
  154.   ) ;_ end of if
  155.   (cond        ((= slist '?)
  156.          (alert ctmp)
  157.         )
  158.         ((not slist)
  159.          (if style_old
  160.            (setvar "TEXTSTYLE" clayer_old)
  161.            (setvar "TEXTSTYLE" "standard")
  162.          ) ;_ end of if
  163.          (setq tf t)
  164.         )
  165.         ((and textn textf (= (type slist) 'LIST))
  166.          (if (tblobjname "STYLE" textn)
  167.            (progn (setq
  168.                     slist (append
  169.                             (list (assoc -1 (entget (tblobjname "style" textn))))
  170.                             slist
  171.                           ) ;_ end of append
  172.                     test  slist
  173.                   ) ;_ end of setq

  174.                   (entmod slist)
  175.                   (setq tf t)
  176.            ) ;_ end of progn
  177.            (progn (entmake slist) (setq tf t))
  178.          ) ;_ end of if
  179.          (setq style_old (getvar "TEXTSTYLE"))
  180.          (setvar "TEXTSTYLE" textn)
  181.         )
  182.         ((and (= (type slist) 'STR))
  183.          (if (tblobjname "STYLE" textn)
  184.            (progn (setvar "TEXTSTYLE" textn)
  185.                   (setq tf T)
  186.                   (setq style_old (getvar "TEXTSTYLE"))
  187.                   (setvar "TEXTSTYLE" textn)
  188.            ) ;_ 结束progn
  189.          ) ;_ 结束if
  190.         )
  191.         (T
  192.          t
  193.         )
  194.   ) ;_ end of cond
  195.   tf
  196. ) ;_ end of defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2005-1-25 00:08:34 | 显示全部楼层
主要常用于带固定前缀的顺序编号,由于我是从事工程测量,所以针对本行业中的基础竣工图中的桩位编号做了一些专门的优化。
其他用法,可以编电信设计中的杆号之类的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-2-19 12:25:40 | 显示全部楼层
请教楼主:为什么我用的时候总是错误提示呢?
命令: yy
桩位自动编号标注程序
选择标注点
[前缀(M):/后缀(E):/字高(H):350/偏移量(O):200/编号(N):1/选择工程桩(Z)]:z
请选择编号方式[统一编号(A)/按承台编号(C)]<统一编号>:
选择对象: 指定对角点: 找到 6 个
选择对象:
正在进行计算,请稍等...
no function definition: DXF
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2005-2-19 16:01:29 | 显示全部楼层
呵呵,这是我针对基础竣工平面图中的桩位图块(我所编写的基础绘图系统)而写!它只认图块名为"_YZ_K"之类的块。

  1. ;;;=====================
  2. ;;;返回实体指定的表项
  3. (DEFUN dxf (st ss) (CDR (ASSOC st (ENTGET ss))))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-2-21 09:55:17 | 显示全部楼层
楼主,还是错误提示啊!
命令: yy
桩位自动编号标注程序
选择标注点
[前缀(M):/后缀(E):/字高(H):350/偏移量(O):200/编号(N):1/选择工程桩(Z)]:z
请选择编号方式[统一编号(A)/按承台编号(C)]<统一编号>:
选择对象: 指定对角点: 找到 6 个
选择对象:
正在进行计算,请稍等...
no function definition: NETBEE_PX
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 17:42 , Processed in 0.416543 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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