簡體   English   中英

將 SVG 文件帶入 Openscad 的問題

[英]Issue bringing SVG file into Openscad

我正在使用以下代碼將有點復雜的 SVG 文件轉換為 3D 凸版印刷過程的印版。 當我在 SVG 本身中找不到任何問題時,我收到了網格錯誤。 所有的路徑都關閉了。

我添加了 Offset(delta=0.001),這似乎有助於處理具有簡單形狀或少量文本的簡單 SVG。 但是我已經處理了我附加在這里的 SVG 超過 12 個小時,它似乎卡在了某個地方。 (附截圖)

截圖

file = "InviteFinal.svg";
width = 139.7;
height = 215.9;

feature_height = 1.143;
plate_thickness = 0.254;

union()
{
    minkowski()
    {
        linear_extrude(height = 0.1, center = false, convexity = 10)
        scale([-1, 1, 1])
        translate([-width, 0, 0])
        offset(delta=0.001)
        import(file);
        
        
        cylinder(feature_height - 0, 0.25, 0);
    }
    
    translate([-10,-10,-0.254])
    cube([width+20,height+20,plate_thickness]);

    minkowski()
    {
        union()
        {
            translate([width+5,height,0])
            cube([5,0.8,0.2],true);

            translate([width,height+5,0])
            cube([0.8,5,0.2], true);


            translate([-5,0,0])
            cube([5,0.8,0.2],true);

            translate([0,-5,0])
            cube([0.8,5,0.2], true);


            translate([width+5,0,0])
            cube([5,0.8,0.2],true);

            translate([width,-5,0])
            cube([0.8,5,0.2], true);


            translate([-5,height,0])
            cube([5,0.8,0.2],true);

            translate([0,height+5,0])
            cube([0.8,5,0.2], true);
        }
        
        cylinder(feature_height - 0.1, 0.2, 0);
    }
}

SVG 文件

問題是擠壓文本和圓柱體上的第一個 minkowski() 總和。 進行 minkowski() 求和的目的是使對象的角變圓。 彎道越多,所需時間越長。 所以對於像字母“O”這樣的事情,需要很長時間。

來自 minkowski 的OpenSCAD文檔:

警告:對於 $fn 的高值,minkowski 和最終可能會消耗大量 CPU 和 memory,因為它必須將每個元素的每個子節點與每個其他元素的所有節點組合起來。 因此,如果例如 $fn=100 並且您組合了兩個圓柱體,那么它不會像兩個獨立的圓柱體那樣僅執行 200 次操作,而是執行 100*100 = 10000 次操作。

為了解決問題,我從第二個 minkowski 和中刪除了文件的后半部分。 那鎖定了 OpenSCAD,我不得不關閉它。 當我刪除第一個 minkowski() 總和以便只有 svg 被擠出時,它在 5 秒內呈現。 你想通過對 svg 進行閔可夫斯基求和來達到什么效果?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM