明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2959|回复: 6

[求助这样一个程序。

[复制链接]
发表于 2005-4-28 23:35:00 | 显示全部楼层 |阅读模式
能够对文字也可以使用offset程序。


就相当于offset直线一样,平行于原文字方向copy一定距离复制文字


由于图形中文字经常不是垂直相交,我现在采用复制文字的方式是先旋转坐标轴,ucs后让坐标轴平行于文字后在复制,感觉很麻烦,希望能有朋友帮助编辑这样一个程序,提高效率
发表于 2005-4-29 10:32:00 | 显示全部楼层
试一下下面的程序:[ code];明经 2005.4.29 --- ZZXXQQ(DEFUN C:TXTOF ()
  (SETVAR "CMDECHO" 0)
  (SETQ OF (GETVAR "USERR3"))
  (PRINC "\nOffset distance or Through <")
  (PRINC (IF (= OF 0) "Trough" OF))
  (INITGET "Trough" 0)
  (SETQ D (GETDIST "> :")
             D (IF (= D nil) OF D)
             OF (IF (= D "Trough") 0.0 D))
  (SETVAR "USERR3" OF)
  (IF (SETQ S1 (ENTSEL "\nSelect Text to offset : ")) (PROGN
   (COMMAND ".UNDO" "BE")
   (SETQ SS (CAR S1)
               PT1 (CADR S1)
               OLDOS (GETVAR "OSMODE"))
   (SETVAR "OSMODE" 0)
   (SETQ ENT (ENTGET SS))
   (WHILE (/= (CDR (ASSOC 0 ENT)) "TEXT")
     (PRINC "\nCannot offset that object.")
     (IF (SETQ S1 (ENTSEL "\nSelect Text to offset : "))
       (SETQ SS (CAR S1) PT1 (CADR S1) ENT (ENTGET SS))
     )
   )
   (REDRAW SS 3)
   (SETQ PT (GETPOINT (IF (= OF 0) "\nThrough point:" "\nSide to offset?")))
   (IF PT (PROGN
     (SETQ TB   (CADR (TEXTBOX (LIST (ASSOC 1 ENT))))
                 ANG (CDR (ASSOC 50 ENT))
                 ANG (IF (> ANG PI) (- ANG PI PI) ANG)
                 A1   (+ (* PI 0.5) ANG)
                 A3   (- ANG (* PI 0.5))
                 AN1 (ANGLE PT1 PT))
     (IF (= OF 0)
       (SETQ PT1 (CDR (ASSOC 10 ENT))
                   AN2 (ANGLE PT1 PT)
                   DS (* (SIN (- AN2 ANG)) (DISTANCE PT1 PT))
                   PT (POLAR PT1 (IF (EQUAL AN2 A1 (* PI 0.5)) A1 A3) DS))
       (SETQ PT (POLAR PT1 (IF (EQUAL AN1 A1 (* PI 0.5)) A1 A3) OF))
     )
     (COMMAND "COPY" SS "" PT1 PT)
   ))
   (SETVAR "OSMODE" OLDOS)
   (REDRAW SS 4)
   (COMMAND ".UNDO" "E")
  ))
  (PRINC)
)
[/code]
 楼主| 发表于 2005-4-30 00:46:00 | 显示全部楼层
非常感谢zzxxqq,这个问题解决了


希望继续来个另外的功能,就是垂直于文字方向移动


起目的就是ofset后删除原来的那个文字,就达到移动的目的了
发表于 2005-4-30 08:08:00 | 显示全部楼层
您只要将2楼程序中的COPY命令改为MOVE命令即可达到移动的目的了。
发表于 2005-5-17 21:05:00 | 显示全部楼层
能说说把这些程序放哪里吗
发表于 2005-5-18 11:59:00 | 显示全部楼层
放在磁盘上的任何地方。只要文件扩展名为.LSP就行。
发表于 2005-6-8 19:56:00 | 显示全部楼层
呵呵


同意楼上做法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-18 20:18 , Processed in 0.174181 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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