乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 50|回复: 3

[综合讨论] 文本不随块的其余部分旋转

[复制链接]

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-10-3 08:11:52 | 显示全部楼层 |阅读模式
嗨,我有一个lisp程序,可以将指北针旋转到视口中的任意位置。它已经工作了很多年。我在一家新公司开始工作,指北针块中有一些动态文本。例行程序仍然有效,但是发生了两件事。1块中的对象旋转,但是它们向左移动了大约16英寸,2块中的文本没有旋转,而是保持在原位。这个例程使用entsel和entmod来完成这个任务。有什么建议吗?
(defun c:rn()
(setq tw(entget(car(entsel " \ n select a Viewport:")))
(setq new(cdr(assoc 0 tw)))
(cond
(= new " Viewport))(setq rt(cdr(assoc 51 tw))))
(= new " lw polyline ")(setq temp(entget(cdr(assoc 330 tw))))(setq rt(cdr(cdr(cdr

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-10-3 08:19:02 | 显示全部楼层
下面是一个替代方法,使用ActiveX旋转属性:
  1. (defun c:rn ( / blk sel )
  2.     (and (princ "\nSelect viewport: ")
  3.          (setq sel (ssget "_+.:E:S" '((0 . "VIEWPORT"))))
  4.          (setq blk (car (entsel "\nSelect north arrow: ")))
  5.          (= "INSERT" (cdr (assoc 0 (entget blk))))
  6.          (vla-put-rotation (vlax-ename->vla-object blk) (cdr (assoc 51 (entget (ssname sel 0)))))
  7.     )
  8.     (princ)
  9. )
  10. (vl-load-com) (princ)
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-10-3 08:22:56 | 显示全部楼层
当块以意外的方式移动时,通常是因为插入点不在“应该”的位置,这意味着北点是围绕其插入点旋转的,可能距离为16英寸,而不是围绕其中心旋转。
注释性文本的一个功能是,与页面相比,它始终保持垂直,显然,这会让应用于它的任何旋转看起来都不起作用。可能值得检查的是,这里的情况并非如此(我想可以通过文本样式设置)。
dJE
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2016-10-3 09:06:27 | 显示全部楼层
太棒了,李,谢谢。现在,如果我想让文本自动翻转180度,这样它读起来就正确了,那会是什么呢?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 21:27 , Processed in 0.443762 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表