designerstuart 发表于 2022-7-6 10:52:54

lisp或其他简单例程t

正在尝试学习lisp。。。。。我面前有数百个物体
它们的孵化都需要新的起源
 
有人告诉我如何编写遵循命令的lisp吗
 
-图案填充编辑
起源
设置新原点
 
然后我可以点击回车键并点击每一个(x 100s!)
 
 
谢谢

lpseifert 发表于 2022-7-6 10:58:07

我可能会通过使用(ssget…)选择一组图案填充来实现它然后使用(命令“-hatchedit”…)遍历选择集的每个成员或(vlax put property obj’Origin…)
 
如果你需要更多的帮助,请说出来

rkmcswain 发表于 2022-7-6 11:04:57

如果要为所有对象设置相同的原点,只需选择它们并将其设置为_属性

lpseifert 发表于 2022-7-6 11:06:32

听听麦克斯温先生的建议。。。在Autocad中,并非每个任务都需要lisp。

designerstuart 发表于 2022-7-6 11:09:49

@rkmcswain公司
不,对不起,比这更复杂!
 
我得到了100个图案填充,想分别为每个图案填充指定(通过“选择新原点”单击方法)新原点。我想出了一个程序,允许我有一个单一的命令,然后点击每一点,至少减少了我的工作,由severl百点击一个绘图!
 
谢谢继续。。。。。。。

designerstuart 发表于 2022-7-6 11:15:50

 
我不太明白。。。。为了说明我的新手主义,为什么这类事情不起作用?
 
(defun c:hatcho()
command "-hatchedit" "origin" "set new origin"
)

 
宏也可以。。。。任何一个点击选项都可以接受!
 
谢谢

alanjt 发表于 2022-7-6 11:18:30

按照命令的确切提示操作。
 
如。
Command: -HATCHEDIT

Select hatch object:
Enter hatch option [DIsassociate/Style/Properties/DRaw order/ADd
boundaries/Remove boundaries/recreate Boundary/ASsociate/separate
Hatches/Origin/ANnotative] <Properties>: ORIGIN

<Default to
boundary extents>: S

Select point:
Store as default origin? <N>:

designerstuart 发表于 2022-7-6 11:22:07

@alanjt谢谢
 
所以现在我意识到为什么我的工作不起作用了——我不能在我做的例行程序中间点击。那么现在,有没有可行的方法?
 
感谢您的及时回复!

rkmcswain 发表于 2022-7-6 11:25:10

 
明白,但我想问你,因为你最初的问题不清楚。
 
好吧,实际上你可以,如果你包括一个暂停,但这违背了目的,因为你必须为每个暂停选择一个点。 
在我看来,您必须基于每个图案填充对象的边界计算一个新原点,因为“原点”属性需要一个点,而不是“中心”或“左下角”这样的设置。
 
是否要相对于每个图案填充对象或仅在图案填充附近的某个位置设置特定点?

alanjt 发表于 2022-7-6 11:30:41

可以从边界框(vla getboundingbox obj)中获取中点。然后,您可以只取两个边界框点中的一个。任何一个都可以用于更改原点。改变原点的目的是什么?
页: [1] 2
查看完整版本: lisp或其他简单例程t