【问题标题】:How do I specify size of a dxf in openscad?如何在openscad中指定dxf的大小?
【发布时间】:2016-01-21 12:32:57
【问题描述】:

我是 openscad 的新手,正在尝试从 dxf 文件制作 3d 模型。我想将其大小指定为 130x130。我已经能够达到下面的代码,但它仍然没有断言我想要的大小:

linear_extrude(height = 5, center = true, convexity = 10) import (file="bahtinov.dxf");

感谢任何帮助!

【问题讨论】:

    标签: openscad


    【解决方案1】:

    您可以使用dxf_dim():在您的 dxf 中再创建一层,例如"dimensions",用最大值画一条水平和垂直的尺寸线。宽度分别最大。 Documentation 中描述的高度,作为标识符,例如“TotalWidth”和“TotalHeight”,这里以我的测试图为例:

    通过以下方式获取值:

    tw = dxf_dim(file="bahtinov.dxf", name="TotalWidth", layer="dimensions", scale=1);
    th = dxf_dim(file="bahtinov.dxf", name="TotalHeight", layer="dimensions", scale=1);
    

    缩放部分:

    scale([130/tw,130/th,1]) linear_extrude(height = 5, center = true) import(file="bahtinov.dxf", layer="layerName", scale=1);
    

    【讨论】:

    • 当我从您的链接中阅读文档时,我仍然找不到如何实际创建此 TotalWidth 值,例如,它神秘地说:在绘图中,创建一个不显示尺寸的尺寸值,而是一个标识符。您能否将这第一步纳入您的答案以使其全面? (我认为自从我得到:警告:在'bahtinov.dxf',图层'尺寸'中找不到尺寸'TotalWidth'!)
    • @Sebastian 我在我的答案中添加了 cad 绘图的屏幕截图。因为我没有“bathinov.dxf”,所以我创建了自己的“get_input.dxf”和“get_input.scad”。你可以从这里下载它们app.box.com/s/m64cn5yk1wb3mb4i3a5ofwwk3s5yji7k,你可以忽略openscad 2015的openscad-console中的警告
    • 啊,好的,谢谢,我误解了程序,如果我现在正确的话:您在 dfx 中使用另一个程序添加这些尺寸。当我偶然发现这个线程时,我在openscad中寻找一个解决方案,给定任何dfx。但是,如果我找不到其他解决方案,我会提出自己的问题。谢谢!
    • 正确:只需使用您用来生成 dxf 绘图的 cad 程序
    【解决方案2】:

    您可以通过在导入的 DXF 上使用 resize() 来实现:

    linear_extrude(height = 5, center = true, convexity = 10) resize([130,130]) import (file="bahtinov.dxf");
    

    【讨论】:

      【解决方案3】:

      我不认为你可以,但你可以在之后扩展它。

      scaling_factor=0.5;
      scale([scaling_factor,scaling_factor,1])
      linear_extrude(height = 5, center = true, convexity = 10) import (file="bahtinov.dxf");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-28
        • 1970-01-01
        • 2022-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-05
        • 1970-01-01
        相关资源
        最近更新 更多