标签: openscad

在openscad中变形为椭圆形

我试图在openscad中创建一个风扇管道,将管道从圆形变为椭圆形.有没有办法在openscad中这样做?如果没有,是否有任何其他编程方式来生成这种类型的3D模型?

谢谢丹尼斯

polygon openscad

4
推荐指数
2
解决办法
3170
查看次数

openscad if语句问题变量

我在OpenScad中遇到If语句的问题.我有4个变量

a=20;
b=14;
w=1;
c=16;
Run Code Online (Sandbox Code Playgroud)

我想检查女巫号码是否更大ab.在依赖谁更小以获取较小变量的值(在我们的例子中b < a)并使用c变量(c=b-w)进行简单操作之后.

我尝试过这样但它不起作用.

a=20;
b=14;
w=1;
c=16;
if(a>b)
{
    c=b-w;
}

if (a<b)
{
c=a-w;
}

if (a==b)
{
c=a-w;
}
Run Code Online (Sandbox Code Playgroud)

这似乎是逻辑,但在openscad中我理解你无法在If语句中更改变量的值.我可以使用什么技巧来实现我的目标.谢谢!

openscad

4
推荐指数
2
解决办法
3490
查看次数

Openscad是数组或等价的

openScad上有这样的东西吗?

list = [2, 3];

if(1 in list){
  echo("in");
}else{
  echo("not in");
}
/* or better: */
list = [2, 3];
isin = 1 in list? 100 : 0;
Run Code Online (Sandbox Code Playgroud)

arrays list vector matrix openscad

4
推荐指数
1
解决办法
602
查看次数

无法从shell脚本调用Openscad -D命令行

我在Ubuntu linux上使用openscad命令从命令行生成模型.我最终成功运行了openscad命令,使用-D参数覆盖变量值:

$ openscad -o output.stl -D 'param1="name1"' -D 'param2="name2"' openscad-script.scad
Run Code Online (Sandbox Code Playgroud)

编辑:注意我们必须传递-D参数的方式,单引号和双引号必须根据因为Openscad文档.

但是当我从shell脚本生成并执行相同的命令时,openscad失败并出现错误:

$ ./myscript.sh value1 value2 
Run Code Online (Sandbox Code Playgroud)

错误:第XX行中的分析器错误:语法错误无法解析文件'openscad-script.scad'!

其中XX =文件的最后一行.

这是bash脚本

#!/bin/bash
# run openscad command
param1="-D 'param1=\"$1\"'"
param2="-D 'param2=\"$2\"'"
echo "openscad -o $1-$2.stl $param1 $param2 openscad-script.scad"
openscad -o $1-$2.stl $param1 $param2 openscad-script.scad
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,我仍然无法弄清楚opencad在运行命令时失败的原因.

谢谢你的帮助,

编辑:我发现了一种让它工作的方法,可能不是最好的

#!/bin/bash
# run openscad command
param1="-D 'param1=\"$1\"'"
param2="-D 'param2=\"$2\"'"
command = "openscad -o $1-$2.stl $param1 $param2 openscad-script.scad"
eval $command
Run Code Online (Sandbox Code Playgroud)

bash command-line openscad

4
推荐指数
1
解决办法
396
查看次数

OpenSCAD:围绕特定点旋转?

以下代码围绕原点旋转第二个多维数据集.如何围绕其中心点([5,5,0])旋转第二个立方体?

cube([10,10,1]);
rotate([0,0,45]) cube([10,10,1]);
Run Code Online (Sandbox Code Playgroud)

openscad

4
推荐指数
1
解决办法
2021
查看次数

如何在OpenSCAD中制作弯曲的图纸(立方体)?

如何弯曲图纸(立方体)?我想控制弯曲/曲线的角度。

曲线

例如

立方([50,50,2]);

curve openscad

4
推荐指数
1
解决办法
378
查看次数

OpenSCAD 变量未累积

我对 OpenSCAD 相当陌生,并且遇到了一个我不明白的问题。在下面的代码片段中,变量“ofs”不是从“for”迭代的先前值中累积的。

slots = [5, 7, 11, 17];

ofs = 0;
for (i = slots) {
    ofs = ofs + i;
    echo (ofs);
    translate([ofs,0,0])
    cube([1, 50, 30]);
}
Run Code Online (Sandbox Code Playgroud)

我期望看到的echo (ofs)是以下值:

  • 5 (0 + 5)
  • 12(5 + 7)
  • 23 (12 + 11)
  • 30 (23 + 17)

我实际上看到的只是插槽数组中的值:

  • 5
  • 7
  • 12
  • 23

有人可以告诉我如何通过循环迭代来累积 ofs 的值吗?任何帮助,将不胜感激。

openscad

4
推荐指数
1
解决办法
621
查看次数

同时进行线性和旋转挤压

我正在尝试绘制这个(空心)形状:

时髦的形状

圆圈实际上是不同的直径,我想像这样将连接管的中间缩进(但这不是必需的)。我可以通过逐段绘制来伪造形状,但是我在缩小它时遇到了问题,而且感觉不像 OpenSCAD 想要它那样完成(即长达一小时的 CSG 生成)。有没有更好的方法来做到这一点?渲染形状

for(i = [0:180]) {
    rotate([0,i,0])
    translate([26,0,0])
    difference() {
        cylinder(r=10 + (0.083 * i),h=.1);
        cylinder(r=8 + (0.083 * i),h=.1);
    }
}
Run Code Online (Sandbox Code Playgroud)

openscad

3
推荐指数
1
解决办法
2189
查看次数

OpenSCAD 输出中的嵌套透明度

OpenSCAD 输出中的透明度可以通过添加%元素来实现,但这不允许将透明元素放置在具有更高透明度(例如以百分比表示)的周围元素中,并且可以看到(不透明)元素在透明元素内的透明元素中。怎么做?

transparency openscad

3
推荐指数
1
解决办法
3619
查看次数

在 openscad 中居中导入 stl 文件

我通过算法在 OpensCad 中导入 stl 文件,我希望包含的模型始终位于中心,也就是说,以某种方式计算它们的中心应该是什么,然后使用平移将其带到 x、y、z 轴所在的点相交。那可能吗?

3d openscad

3
推荐指数
1
解决办法
4159
查看次数

标签 统计

openscad ×10

3d ×1

arrays ×1

bash ×1

command-line ×1

curve ×1

list ×1

matrix ×1

polygon ×1

transparency ×1

vector ×1