明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2127|回复: 7

哪位哥帮修改下海盗曹老大的标注板厚源码

[复制链接]
发表于 2012-7-6 18:15:20 | 显示全部楼层 |阅读模式
1明经币
板厚以80厚为基础,以递增10变颜色。板厚分别为80、90、100、110、120、130、140、150、160、170、180、190、200、210、220、230、240、250、260、270、280、290、300板厚不同颜色不同。。。。。。
相同板厚颜色相同::::::::::::::::::
麻烦各位老师啦谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
源码如下:
;;; 标注板厚;;;;;;;;;
(defun inivar ()
  (setq old_os (getvar "osmode"))
  (setvar "cmdecho" 0)
  (setq aa (getvar "clayer"))
  (setq bb (getvar "textstyle"))
)
(defun c:bbh (/ d1 d2 h1 t1 t2 t3 p0 p1 p2)
  (if (null scale_bbh)
    (setq scale_bbh (getstring "\n第一次运行,请选择绘图比例 <1>1:100,<2>1:150 <default=1:100>:"))
  )
  (cond
    ((or
       (= scale_bbh "1")
       (= scale_bbh "")
     )
      (setq d1 300
     d2 500
     h1 300
      )
    )
    ((= scale_bbh "2")
      (setq d1 450
     d2 800
     h1 450
      )
    )
    ((progn
       (setq scale_bbh nil)
       (exit)
     )
    )
  )
  (setq t1 (getstring "\n请输入板厚<120>:"))
  (if (= t1 "")
    (setq t1 "120")
  )
  (setq t2 (strcat "h=" t1))
  (while (setq p0 (getpoint "\n请输入标注板厚的中心点:"))
    (setq p1 (polar p0 (* PI 0.5) d1))
    (setq p2 (polar p0 0 d2))
    (inivar)
    (if (= scale_bbh "2")
      (command "style" "BHBZ" "tssdeng" "450" "0.7" "0" "N" "N" "N")
    )
    (if (or
   (= scale_bbh "1")
   (= scale_bbh "")
)
      (command "style" "BHBZ" "tssdeng" "300" "0.7" "0" "N" "N" "N")
    )
       (command "text" "J" "MC" p0 "0" t2)
    (COMMAND "CHANGE" "L" "" "P" "c" (/ (atoi t1) 33) "")
    (setvar "osmode" 0)
    (command "ellipse" "c" p0 p1 p2)
    (COMMAND "CHANGE" "L" "" "P" "c" (/ (atoi t1) 33) "")
    (setvar "osmode" old_os)
    (defun resvar ()
      (setq p0 nil)
    )
    (setvar "clayer" aa)
    (setvar "textstyle" bb)
  )
  (princ)
)

最佳答案

查看完整内容

;;; 标注板厚;;;;;;;;; (defun inivar () (setq old_os (getvar "osmode")) (setvar "cmdecho" 0) (setq aa (getvar "clayer")) (setq bb (getvar "textstyle")) ) (defun c:bbh (/ d1 d2 h1 t1 t2 t3 p0 p1 p2) (if (null scale_bbh) (setq scale_bbh (getstring "\n第一次运行,请选择绘图比例 1:100,1:150 :")) ) (cond ((or (= scale_bbh "1") (= scale_bbh "") ) ...
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-7-6 18:15:21 | 显示全部楼层
;;; 标注板厚;;;;;;;;;
(defun inivar ()
  (setq old_os (getvar "osmode"))
  (setvar "cmdecho" 0)
  (setq aa (getvar "clayer"))
  (setq bb (getvar "textstyle"))
)
(defun c:bbh (/ d1 d2 h1 t1 t2 t3 p0 p1 p2)
  (if (null scale_bbh)
    (setq scale_bbh (getstring "\n第一次运行,请选择绘图比例 <1>1:100,<2>1:150 <default=1:100>:"))
  )
  (cond
    ((or
       (= scale_bbh "1")
       (= scale_bbh "")
     )
      (setq d1 300
     d2 500
     h1 300
      )
    )
    ((= scale_bbh "2")
      (setq d1 450
     d2 800
     h1 450
      )
    )
    ((progn
       (setq scale_bbh nil)
       (exit)
     )
    )
  )
  (setq t1 (getstring "\n请输入板厚<120>:"))
  (if (= t1 "")
    (setq t1 "120")
  )
  (setq t2 (strcat "h=" t1))
  (while (setq p0 (getpoint "\n请输入标注板厚的中心点:"))
    (setq p1 (polar p0 (* PI 0.5) d1))
    (setq p2 (polar p0 0 d2))
    (inivar)
    (if (= scale_bbh "2")
      (command "style" "dim" "simp1" "450" "0.7" "0" "N" "N" "N")
    )
    (if (or
   (= scale_bbh "1")
   (= scale_bbh "")
)
      (command "style" "dim" "simp1" "300" "0.7" "0" "N" "N" "N")
    )
       (command "text" "J" "MC" p0 "0" t2)
    (COMMAND "CHANGE" "L" "" "P" "c" (- (atoi t1) 79) "")
    (setvar "osmode" 0)
    (command "ellipse" "c" p0 p1 p2)
    (COMMAND "CHANGE" "L" "" "P" "c" (- (atoi t1) 79) "")
    (setvar "osmode" old_os)
    (defun resvar ()
      (setq p0 nil)
    )
    (setvar "clayer" aa)
    (setvar "textstyle" bb)
  )
  (princ)
)
回复

使用道具 举报

发表于 2012-7-6 18:40:31 | 显示全部楼层
没看明白,原来的标注颜色本来就是根据板厚变化的啊
回复

使用道具 举报

 楼主| 发表于 2012-7-6 19:26:28 | 显示全部楼层
原来达不到变板厚变色要求~



本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-7-6 19:38:25 | 显示全部楼层
;;; 标注板厚;;;;;;;;;
(defun inivar ()
  (setq old_os (getvar "osmode"))
  (setvar "cmdecho" 0)
  (setq aa (getvar "clayer"))
  (setq bb (getvar "textstyle"))
)
(defun c:bbh (/ d1 d2 h1 t1 t2 t3 p0 p1 p2)
  (if (null scale_bbh)
    (setq scale_bbh (getstring "\n第一次运行,请选择绘图比例 <1>1:100,<2>1:150 <default=1:100>:"))
  )
  (cond
    ((or
       (= scale_bbh "1")
       (= scale_bbh "")
     )
      (setq d1 300
     d2 500
     h1 300
      )
    )
    ((= scale_bbh "2")
      (setq d1 450
     d2 800
     h1 450
      )
    )
    ((progn
       (setq scale_bbh nil)
       (exit)
     )
    )
  )
  (setq t1 (getstring "\n请输入板厚<120>:"))
  (if (= t1 "")
    (setq t1 "120")
  )
  (setq t2 (strcat "h=" t1))
  (while (setq p0 (getpoint "\n请输入标注板厚的中心点:"))
    (setq p1 (polar p0 (* PI 0.5) d1))
    (setq p2 (polar p0 0 d2))
    (inivar)
    (if (= scale_bbh "2")
      (command "style" "dim" "simp1" "450" "0.7" "0" "N" "N" "N")
    )
    (if (or
   (= scale_bbh "1")
   (= scale_bbh "")
)
      (command "style" "dim" "simp1" "300" "0.7" "0" "N" "N" "N")
    )
       (command "text" "J" "MC" p0 "0" t2)
    (COMMAND "CHANGE" "L" "" "P" "c" (/ (atoi t1) 10) "")
    (setvar "osmode" 0)
    (command "ellipse" "c" p0 p1 p2)
    (COMMAND "CHANGE" "L" "" "P" "c" (/ (atoi t1) 10) "")
    (setvar "osmode" old_os)
    (defun resvar ()
      (setq p0 nil)
    )
    (setvar "clayer" aa)
    (setvar "textstyle" bb)
  )
  (princ)
)

点评

哥颜色反差改大点怎么弄啊。。颜色现在80厚的是颜色8。。。9,10,11一直下去。。  发表于 2012-7-7 17:29

评分

参与人数 1明经币 +1 收起 理由
flytoday + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-7-6 20:35:50 | 显示全部楼层
本帖最后由 flytoday 于 2012-7-7 17:11 编辑

非常用好哈哈谢谢~
回复

使用道具 举报

发表于 2012-7-7 07:10:07 | 显示全部楼层
  1. ;; bzbh(标注板厚) 需要e派工具箱(XCAD)的支持:http://xyp1964.ys168.com
  2. ;; 板厚以80厚为基础,以递增10变颜色。
  3. ;; 板厚分别为80~300,板厚不同颜色不同
  4. (defun c:tt (/ t2 co p0 p1 p2 s1)
  5.   (cmdlasc0)
  6.   (xyp-initSet '(high) '(120))
  7.   (setq high (Uint 7 "" "板厚" high))
  8.   (if (and (<= 80 high 300)
  9.            (= (rem high 10) 0)
  10.       )
  11.     (progn
  12.       (setq t2 (strcat "h=" (itoa high))
  13.             co (/ high 2)
  14.       )
  15.       (while (setq p0 (getpoint "\n请输入标注板厚的中心点: "))
  16.         (setq p1 (polar p0 (* PI 0.5) (* xyp-sc 300))
  17.               p2 (polar p0 0 (* xyp-sc 500))
  18.               s1 (xyp-Text 5 p0 t2)
  19.         )
  20.         (xyp-put "color" s1 co)
  21.         (command "ellipse" "c" p0 p1 p2)
  22.         (xyp-put "color" (entlast) co)
  23.       )
  24.     )
  25.   )
  26.   (cmdla1)
  27. )
回复

使用道具 举报

 楼主| 发表于 2012-7-7 10:13:54 | 显示全部楼层
烦请哪位位老大改改谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-22 02:06 , Processed in 0.174992 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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