明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: liminnet

这个程序可以用文字的形心来旋转吗?

  [复制链接]
 楼主| 发表于 2008-7-8 09:26:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-7-8 10:35:00 | 显示全部楼层
建议你把文字定义为属性,镜像就没问题了
 楼主| 发表于 2008-7-8 12:48:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-7-8 13:03:00 | 显示全部楼层

唉,还是要镜像,这么多字,好晕,好多步骤呀,为什么只差一步就没人帮我,我都试了上面程序的效果啦,只差文字再以形心旋转180度就可以啦,都没人帮,真。。。。。。。。。。。。。。。。。。唉。。。人心冷淡呀

你总是喜欢发出这种声音...

发表于 2008-7-8 20:02:00 | 显示全部楼层
liminnet发表于2008-7-7 9:14:00还是不行呀,老大,我附上DWG给你试一下, 42213

给那么高版本的图!是不是不想让人看呀?

 楼主| 发表于 2008-7-8 21:42:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2008-7-9 11:47:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-7-9 19:50:00 | 显示全部楼层
试试。
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0

发表于 2008-7-10 00:22:00 | 显示全部楼层

(defun c:test( / ACADDOC ANG LEFTDOWNPOINT OFFSETLEFTDOWNPOINT USEROS SELECTIONSET)
 
  ;加载vlisp函数
  (vl-load-com)

  ;当前文档
  (setq acaddoc (vla-get-activedocument (vlax-get-acad-object)))
 
  ;选择处理对象
  (if (ssget '((0 . "TEXT")))
   
    (progn
     
      ;当前选集
      (setq selectionset (vla-get-activeselectionset acaddoc))

      ;保存捕捉
      (setq useros (getvar "OSMODE"))

      ;遍历选集处理对象
      (vlax-for obj selectionset

 ;文字对象外框
 (vla-getboundingbox obj 'leftdownpoint 'rightuppoint)

 ;设置颠倒:否
 (vla-put-upsidedown obj :vlax-false)

 ;设置反向:否
 (vla-put-backward obj :vlax-false)

 ;文字角度
 (setq ang (vla-get-rotation obj))

 ;调整角度
 (if (and (> ang (* pi 0.5)) (<= ang (* pi 1.5)))
   (vla-put-rotation obj (+ ang pi))
   )

 ;修改后的文字外框
 (vla-getboundingbox obj 'offsetleftdownpoint 'offsetrightuppoint)

 ;文字归位
 (vla-move obj offsetleftdownpoint leftdownpoint)

 )

      ;恢复捕捉
      (setvar "OSMODE" useros)
     
      )
    )

  ;静默退出
  (princ)
 
  )

 楼主| 发表于 2008-7-10 09:25:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 09:48 , Processed in 0.187092 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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