eri Asked:2022-06-28 22:31:26 +0800 CST2022-06-28 22:31:26 +0800 CST 2022-06-28 22:31:26 +0800 CST 以编程方式拉伸 STL 模型 772 现在有条件地有一个模型“AAAAAAAAA”。它必须在“AAABBBVVV”上标上一些东西,并用它制作模型“AAABBBVVV”和“AAABBBBBVVV”。(其中 A、B、C 是三角形组)。也就是说,区域 A 保留几何形状,区域 B 被拉伸和压缩,区域 C 在保持几何形状的同时移动。结果必须是单个对象。 你能告诉我如何以编程方式实现它吗?应该使用什么格式来存储点组标签?哪些程序将对此有所帮助? 模型可以手工切割成碎片,但如何将它们粘在一起以形成一个整体? 3d моделирование 2 个回答 Voted Kromster 2022-06-28T22:48:00+08:002022-06-28T22:48:00+08:00 这个问题太笼统了。总而言之,它与 9-tap sprites 非常相似。 你能告诉我如何以编程方式实现它吗? 加载模型、布局、修改几何图形、保存。 应该使用什么格式来存储点组标签? 任何。从按索引列出点,到标记顶点,再到设置限制范围(体积)。 哪些程序将对此有所帮助? 没有现成的程序。如果您需要软件解决方案,那么您自己编写的程序(例如,使用加载/保存库)会有所帮助。 模型可以手工切割成碎片,但如何将它们粘在一起以形成一个整体? 如果你把它切成小块,然后以相同的格式粘合它们(根据坐标的重合)。但最好不要切割,而是标记。 Best Answer eri 2022-07-08T05:25:42+08:002022-07-08T05:25:42+08:00 这很可能可以通过 openscad 脚本来完成 联合胶 翻译移动 差异\相交截断了一块 示例“拉伸 50” module model () { import("model.stl"); } module cutandpull (x) { union(){ intersection(){ model (); translate([-100,0,0]) cube([500,90,50]) ; }; //кусок А translate([0,90,0]) scale([1,(20+x)/20,1]) translate([0,-90,0]) intersection(){ model (); translate([-100,90,0]) cube([500,20,50]) ; }; //кусок Б translate([0,x,0]) intersection(){ model (); translate([-100,110,0]) cube([500,200,50]) ; }; //кусок В } } cutandpull (50);
这个问题太笼统了。总而言之,它与 9-tap sprites 非常相似。
加载模型、布局、修改几何图形、保存。
任何。从按索引列出点,到标记顶点,再到设置限制范围(体积)。
没有现成的程序。如果您需要软件解决方案,那么您自己编写的程序(例如,使用加载/保存库)会有所帮助。
如果你把它切成小块,然后以相同的格式粘合它们(根据坐标的重合)。但最好不要切割,而是标记。
这很可能可以通过 openscad 脚本来完成
示例“拉伸 50”