找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 345|回复: 0

[编程申请]:如何加強曉東工具的功能

[复制链接]
发表于 2002-12-9 10:26:11 | 显示全部楼层 |阅读模式

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

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

×
在曉東工具中有一個功能能否把這功能加強跟另一個功能類似?

  1.   命令:XDTB_HatchArea
  2.   功能:求填充HATCH和SOLID實體的面積
  3. |;
  4. (defun c:XDTB_HatchArea (/ ss harea e hnum snum tf i)
  5.   (if (not $XDTB_HATCH_TOTAL_AREA)
  6.     (setq $XDTB_HATCH_TOTAL_AREA 0.0)
  7.   )

  8.   (while (progn
  9.            (initget "C")
  10.            (setq sel (getkword (strcat "\n{歷史記錄: " (rtos $XDTB_HATCH_TOTAL_AREA
  11.                                                              2 2
  12.                                                        )
  13.                                        " | 歷史清空[C]}<繼續>:"
  14.                                )
  15.                      )
  16.            )
  17.          )
  18.     (cond
  19.       ((= sel "C")
  20.         (setq $XDTB_HATCH_TOTAL_AREA 0.0)
  21.       )
  22.     )
  23.   )
  24.   (prompt "\n請選取計算面積的Hatch,Solid實體[ALL-全選]<退出>:")
  25.   (if (setq ss (ssget '((0 . "hatch,solid"))))
  26.     (progn
  27.       (xdrx_setsstodb ss 0)
  28.       (setq harea 0
  29.             hnum 0
  30.             snum 0
  31.       )
  32.       (setq tf (> (setq len (sslength ss))
  33.                   100
  34.                )
  35.       )
  36.       (if tf
  37.         (progn
  38.           (xdrx_pbarbegin "計算中..." len)
  39.           (setq i 0
  40.                 eNum 0
  41.                 lNum 0
  42.           )
  43.         )
  44.       )
  45.       (while (setq e (xdrx_getentdata 0))
  46.         (if tf
  47.           (xdrx_pbarsetpos (setq i (1+ i)))
  48.         )
  49.         (setq enttype (xdrx_getentdxf 0))
  50.         (cond
  51.           ((= "SOLID" enttype)

  52.             (setq ss1 (ssadd)
  53.                   ss1 (ssadd e ss1)
  54.                   snum (+ snum 1)
  55.             )
  56.             (setq harea (+ harea (abs (apply
  57.                                         'xdrx_parea
  58.                                         (car (xdrx_searchoutline ss1))
  59.                                       )
  60.                                  )
  61.                         )
  62.             )
  63.           )
  64.           ((= "HATCH" enttype)
  65.             (setq hnum (+ hnum 1)
  66.                   harea (+ harea (car (xdrx_getarea e)))
  67.             )
  68.           )
  69.         )
  70.       )
  71.       (if tf
  72.         (xdrx_pbarend)
  73.       )
  74.       (setq $XDTB_HATCH_TOTAL_AREA (+ $XDTB_HATCH_TOTAL_AREA harea))
  75.       (prompt (strcat "\n共選取了 " (itoa hnum) " 個Hatch, " (itoa snum)
  76.                       " 個Solid,面積總和是:" (rtos harea 2 2)
  77.                       " 歷史記錄總和是: " (rtos $XDTB_HATCH_TOTAL_AREA 2 2)
  78.               )
  79.       )
  80.     )
  81.   )
  82.   (princ)
  83. )

  84. (defun c:UCS_Z ()
  85.   (if (setq e (car (xdrx_entsel "\n請選取一個POLYLINE<退出>:" '((0 . "*polyline")))))
  86.     (progn
  87.       (command "._ucs" "ob" e)
  88.       (command "._ucs" "n" "za" "" '(0 -1 0))
  89.     )
  90.   )
  91.   (pirnc)
  92. )



  93. 計算面積並能自動輸出至螢幕中  能否能告訴我如何把以上這個改到像以下這個呢

  94. (defun c:mj ()

  95. (prompt "\n輸入字高:<") (princ (getvar "textsize")) (princ ">")
  96. (setq 輸入字高 (getreal))
  97. (if (not 輸入字高)
  98. (setq 字高 (getvar "textsize"))
  99. (setq 字高 輸入字高)
  100. )


  101. (setq a t)
  102. (while a
  103. (setq a (getpoint "\n選取封閉區域:"))
  104. (command "-boundary" a "" "yes")
  105. (setq ent (entlast))
  106. (command "area" "o" ent)
  107. (setq mianji (strcat (rtos (/ (getvar "area") 1000000) 2 1) "㎡"))
  108. (if (eq ent ent1)
  109. (alert "選取的區域沒有封閉"))
  110. (command "text" a 字高 "0" mianji)
  111. (setq ent1 ent)
  112. (princ)
  113. )
  114. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-6 01:15 , Processed in 0.281722 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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