seventy9mph 发表于 2022-7-6 09:43:19

旋转所有选定文本

大家好,
第一个帖子,请原谅我。我正在寻找一个LISP例程,它允许我选择文本(甚至可能更好地选择任何对象),然后询问我是否要旋转到绝对或相对角度。
目前,环面很好,但只有绝对旋转角度。我看过很多Lisp程序的单词,它们要么旋转到绝对角度,要么旋转到180度。用户输入的相对角度?
 
谢谢大家抽出时间!!!
 
我应该提到围绕每个文本插入点的所有旋转。。。谢谢

Lee Mac 发表于 2022-7-6 09:55:01

欢迎来到CADTutor Seventy9mph-我相信你会喜欢这里的
 
尝试一下:
 

(defun c:trel ( / acdoc acsel )

(setq acdoc (vla-get-activedocument (vlax-get-acad-object)))

(if
   (and (ssget "_:L" '((0 . "TEXT,MTEXT,INSERT")))
   (setq *ang*
       (cond
         (
         (getangle
             (strcat "\nSpecify Relative Angle"
               (if *ang* (strcat " <" (angtos *ang*) ">") "") ": "
             )
         )
         )
         ( *ang* )
       )
   )
    )
   (progn
   (vlax-for obj (setq acsel (vla-get-ActiveSelectionSet acdoc))
       (vla-put-rotation obj (+ (vla-get-rotation obj) *ang*))
   )
   (vla-delete acsel)
   )
)

(princ)
)

seventy9mph 发表于 2022-7-6 09:56:06

哇,李很棒,
我真的很感激!
谢谢

Lee Mac 发表于 2022-7-6 10:04:55

不客气,时速79英里

Sittingbull 发表于 2022-7-6 10:11:43

哪里有李,哪里就有办法:眨眼。
您好,时速70.9英里,欢迎光临。

irneb 发表于 2022-7-6 10:17:41

或者你可以试试我的:
与Lee的没有太大区别。只允许根据您的选择使用绝对值(如TOrient)或相对值。

Lee Mac 发表于 2022-7-6 10:19:46

 
抱歉吹毛求疵,但无需对“ss”进行两次“设置”:眨眼:

irneb 发表于 2022-7-6 10:26:56

我想这真的没有必要。我只是想去掉VLA ss版本,因为我的代码在一个循环中(注意gc也要去掉普通ss,所以可能一个否定了另一个的需要)。虽然这无关紧要,但有些人可能会在脚本中使用代码,一个接一个地执行多次重复。由于可用的活动选择集有限,这可能会导致错误。鉴于此,在这种情况下,这是一种极不可能的情况-当您在循环中进行选择时,最好清理这些选择。
 
编辑:对不起,李。。。我才明白你的意思!第一次setq没有必要!

seventy9mph 发表于 2022-7-6 10:32:00

谢谢你,Irneb,如果有相对或绝对的选项就好了。好极了,斯科特,这些Lisp程序真是太棒了。真的很感谢大家!

irneb 发表于 2022-7-6 10:37:40

不客气(即使你不是指我)。这是一个很棒的地方,不是吗?
页: [1] 2
查看完整版本: 旋转所有选定文本