明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1595|回复: 1

[已解答] 序号球属性字文字重叠问题,跪求路过大神观看

[复制链接]
发表于 2013-11-16 23:46 | 显示全部楼层 |阅读模式
本帖最后由 adslwang 于 2013-11-16 23:59 编辑

各位大神,下面是新手练习的序号求帖子,在运行的过程中发生了在CAD画面近景可以放置成功,
如在CAD画面拉远后分母及分子的属性字就会重叠,路过的高手可以帮忙一下或改良一下.....

  (defun c:E2()
(command "-STYLE" "arial" "arial.ttf" "0" "1" "0" "" "" "" "-PURGE" "B" "序号球*" "N")   
(if (= (tblsearch "LAYER" "图框序号球") NIL)
(PROGN
(SETQ QQ10PP "图框序号球")
(command "-layer" "M" QQ10PP ""))
(PROGN
(command "-layer" "S" QQ10PP ""))
  )
       (setq EndN (getint "\n 序号球(分子),未输入或负值,由1起算: "))
       (if (or (null EndN) (< EndN 0)) (setq EndN 1))
       (setq StartN (getint "\n 输入序号球总数量(分母): "))
       (if (< StartN 0)
         (progn
         (alert (strcat "未输入或负值,不被允许!"))
         (setq StartN (getint "\n 请重新输入(再输入错误,离开)==>>输入序号球总数量(分母): "))
         ))
       (IF (> EndN StartN)
         (alert (strcat "验证输入异常,数据输入相反,不被允许!请重来.....")))  
(if (or (null EndN) (null StartN))
  (progn
    (princ "\n 输入规则有误!") (princ))
  (progn
(repeat (+ (- StartN EndN) 1)
;;图元划出
(setq QQQ2 (ssadd))
(princ "\n ")
(SETQ DDF (GETPOINT (strcat   "(分子)=" (rtos EndN 2) "(分母)=" (rtos StartN 2) ",点选序号球定位点:")))  
(SETQ DDF1 (POLAR DDF (* PI 0.5) 2.8))
(SETQ DDF2 (POLAR DDF (* PI 1.5) 2.8))
(SETQ ANG1 (POLAR DDF PI 6))
(COMMAND "CIRCLE" DDF 6)
(setq aa1 (entlast))
(COMMAND "CIRCLE" DDF 6.5)
(setq aa2 (entlast))
(COMMAND "-ATTDEF" "" "(输入)分子" "" "" "s" "ARIAL" "J" "MC" DDF1 4.5 0)
(setq aa3 (entlast))
(COMMAND "-ATTDEF" "" "(输入)分母" "" "" "s" "ARIAL" "J" "MC" DDF2 4.5 0)
(setq aa4 (entlast))
(princ "\n ")
(COMMAND "LINE" ANG1 "@12<0" "")
(setq aa5 (entlast))
;;图元划出  
  (setq QQQ2 (ssadd aa1 QQQ2))
  (setq QQQ2 (ssadd aa2 QQQ2))
  (setq QQQ2 (ssadd aa3 QQQ2))
  (setq QQQ2 (ssadd aa4 QQQ2))
  (setq QQQ2 (ssadd aa5 QQQ2))
(setq day (getvar "cdate"))               ;;取得日期12位码
(setq date (rtos day 2 12))               ;;将12位码转文字
(SETQ DATEGETMUN (SUBSTR DATE 12))        
(SETQ MUNMAQ (STRCAT "[" (rtos EndN 2) "-" (rtos StartN 2) "],球码:")) ;;建置图块名
(SETQ MANEQ (STRCAT  "序号球" MUNMAQ " " DATEGETMUN));;图块名称
(command "-BLOCK" MANEQ DDF QQQ2 "")
(COMMAND ".INSERT" MANEQ DDF 1 1 0 EndN StartN)

(if (= EndN StartN)
(progn
  (princ "\n ")
  (princ (strcat "全部序号球下完结束!"))))

(setq EndN (+ EndN 1))

)))
(SETVAR "LUPREC" 2)
(SETVAR "CLAYER" "0")
(princ))


本帖子中包含更多资源

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

x
发表于 2013-11-17 00:49 | 显示全部楼层
本帖最后由 llsheng_73 于 2013-11-17 00:51 编辑

大概看了下程序,没有看到关闭捕捉并且基本以COMMAND为主以及你的描述“在运行的过程中发生了在CAD画面近景可以放置成功, 如在CAD画面拉远后分母及分子的属性字就会重叠"应该是因为捕捉影响导致的
你可以在程序开始(setvar"OSMODE"(+(getvar"OSMODE")16384))将捕捉关闭,程序结束前(setvar"OSMODE"(-(getvar"OSMODE")16384))打开捕捉

评分

参与人数 1明经币 +1 收起 理由
adslwang + 1 感谢大神路过指点 确实是锁点问题

查看全部评分

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

本版积分规则

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

GMT+8, 2024-5-20 00:45 , Processed in 0.187990 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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