2013年3月18日 星期一

Skeinforge演算引擎使用說明(以ReplicatorG與MakerWare介面為例)

原文出處:http://www.makerbot.com
Skeinforge演算引擎使用說明(以ReplicatorG與MakerWare介面為例)
INTRO TO ReplicatorG/SKEINFORGE

ReplicatorG 是一套開放源碼程式,輔助建立機器在3D列印時所需的資料
故障排除指南以及本頁的內容,將引導你如何正確的使用這個軟體

關於 Skeinforge 切片引擎
Skeinforge 是您在使用 MakerWare 和 ReplicatorG 時可選擇的切片引擎之一。它會讀取你的設定,將你的3D模型轉化成MakerBot機器可以讀取的路徑(toolpath)。這些轉譯成GCode的路徑,在送進機器前還會被轉換成.s3g或是.x3g的格式;在MakerWare或是ReplicatorG裡,你可以設定每一層要列印的厚度(layer height)以及噴頭的溫度(extrusion temperature),但是在Skeinforge裡頭所包含的設定選項可是遠超過前面的兩套軟體,只要打開Skeinforge的操作介面,你就可以編輯其中的每一個參數。Skeinforge是真的有點複雜,也可以很輕易的讓你搞混,但是只要搞清楚裡面的幾項參數,它絕對可以讓你的印表機噴出很酷的玩意!


 透過 ReplicatorG 來編輯 Skeinforge 設定檔 
要透過 ReplicatorG 來開啟 Skeinforge,依照下面的步驟.....
step_01 選擇[GCode]>[Edit Slicing Profiles]
step_02 如果你想要編輯適合自己機器的操作檔案
建議先複製原本的設定檔[Duplicate...]
之後跳出的視窗可以為你的個人設定檔命名
step_03 或是直接選擇預設的設定
[Replicator slicing defaults]>[Edit]
step_04 Skeinforge設定視窗自動開啟的畫面
可以自由調整內部的相關參數

step_05 [Craft]頁面內的相關設定將會直接影響GCode的生成
不同的設定將會產生截然不同的列印品質

step_06 設定好所有參數之後,按下[Save All]才會存檔





 透過 MakerWare 來編輯 MakerBot Slicer 設定檔 
如果是透過 MakerWare 來開啟 Profile,依照下面的步驟.....
step_07 按下[Make It]>[Advanced Options]>[Create Profile]
step_08 在[Name]命名新的設定檔,之後按下[Create]
step_09 按下[Edit Profile]之後就可以針對參數做調整、編輯

step_10 MakerWare 軟體中開啟的 Skeinforge 編輯畫面

MakerBot Slicer 參數說明原廠
"infillDensity" Decimal, [0.0, 1.0].
這個參數控制填充(infill)的密度,數值介於 0 和 1 之間;0 代表中空然後 1 代表實心。(必須是大於零/小於一的小數)
This setting determines the solidity of infill, and must be have a value between 0 and 1. A setting of 0 results in a hollow object and a setting of 1 results in a solid one.

"numberOfShells" Integer, [1, infinity]
這個參數控制的是薄殼的層數(必須是整數),噴完之後噴頭才會進行填充>然後跳下一個圖層。每增加一個薄殼,它就會以些許的位移往內插入,在前一個薄殼路徑的旁邊。如果軟體偵測到模型沒有足夠的空間來列印設定的薄殼層數,那軟體會盡可能的噴出這些薄殼,直到不能噴為止。
The number of shells is the number of outlines printed before the extruder moves on to infill or to the next layer. Each additional shell after the first one is slightly inset from the previous shell. If any part of your model doesn't have room for the number of shells you've specified, the slicer will print as many shells as do fit.

"insetDistanceMultiplier" Multiplier of layer width.
這個參數主要定義每一連續薄殼的間格。數字代表的是擠出的寬度的倍數;當設定的數值小於一時,代表著噴頭向內的偏移與重疊,大於一代表著列印的薄殼之間將存在著縫隙。通常最佳的設定是讓薄殼之間有非常細微程度的重疊。
This defines the space between each pair of adjacent shells. The number is a multiplier of the extrusion width. Set this under 1 to have the insets overlap, and over one for gaps between the insets. In general, it's best to have the insets overlap slightly. 

"infillShellSpacingMultiplier" Decimal, [0.0,1.0]. 
這個參數定義了最內側的薄殼與填充的最外側部分。數值介於 0 和 1 之間(必須是大於零/小於一的小數) ,輸入 0 代表兩者是完全重疊,輸入 1 則是代表兩個物件只是相互接觸的狀態。
This defines the overlap between the innermost shell and the outer border of the infill. A value of 0.0 will result in lines of infill that completely overlap the innermost shell. A value of 1.0 will result in lines of infill that just touch the innermost shell. 

"roofThickness" / "floorThickness" Millimeters. 
頂板厚度和底板厚度的設定,決定了兩者的厚度(單位是mm),當這些數值被設定時,兩者的參數是獨立於其他設定的(包含每一層的厚度與切層的數量)。
roofThickness and floorThickness set the thickness of the roof and floor in millimeters. When these settings are used, roof and floor thickness are independent of layer height and number of layers.

"roofLayerCount" / "floorLayerCount" Integer, [0, infinity] 
在參數後增加或移除"_disabled"這個字串,來取消或允許這些設定。當允許設定時,這些特別指定的數值將會強制覆蓋[roofThickness]與[floorThickness]的設定。
Disable or enable these settings by adding or removing "_disabled" to or from the ends of the setting names. When enabled, these settings override the roofThickness and floorThickness settings and set roof and floor thickness to specific numbers of layers.

"layerWidthRatio" Decimal, ratio. 
這個參數定義了擠出寬度的比例。
This defines the ratio of extrusion width over layer height.

"layerWidthMinimum" / "layerWidthMaximum" Millimeters
[layerWidthMinimum]和[layerWidthMaximum]設定代表每層列印的寬度,在必要時可以強制覆蓋[layerWidthRatio]的設定。當[layerWidthRatio]下生成的擠出寬度是介於[layerWidthMinimum]和[layerWidthMaximum]之間時,這些參數的設定將不會產生任何作用。
"layerWidthMinimum" and "layerWidthMaximum" limit the layer width by overriding layerWidthRatio when necessary. As long as layerWidthRatio produces an extrusion width between the value set for layerWidthMinimum and the value set for layerWidthMaximum, these settings will have no effect.

"preCoarseness" / "coarseness" Millimeters
MakerBot Slicer 在設定中會跑兩次簡化工作路徑的檢測。第一次是針對每一切層的外框線,並且檢查特定角度[preCoarseness]的設定值,將設定值以下的線段結合在一起。第二次路徑的簡化是檢查噴頭擠出路徑是否小於[coarseness]設定值,然後將過瑣碎的線段結合在一起。
The MakerBot Slicer simplifies toolpaths twice. The first simplifying pass is run on the layer outlines, and combines line segments and changes in angle smaller than the value specified in the preCoarseness setting. The second is run after the slicer has generated the toolpath for your machine, and combines extruder moves smaller than the value specified in the coarseness setting.

"gridSpacingMultiplier" Decimal, [0.0,1.0]. 
在頂板與底板的線段在處理實心的部分,需要些微的重疊以生成連續的表面。這個切層重疊的量取決於擠出寬度的設定,以倍數的方式在[gridSpacingMultiplier]值做設定、調整。在過度密實的設定下,系統則會填入空間。
Lines right next to each other in roofs and floors or solid infill need to overlap slightly to form a continuous surface. This slicer determines the amount of overlap by multiplying extrusion width by the value set for gridSpacingMultiplier and spacing the lines of extrusion as if they are smaller than they actually are.

"doExternalSpurs" True/False.
[ExternalSpurs]指的是物件外部單層的結構物,當外框線段太靠近時,Spurs會以單線的方式來擠出。這個設定值是無效的時候,當物件的切面過薄,系統通常會要求擠出一條薄層,在此時將不會執行。
Spurs are single-walled sections of objects -- places where the outlines are so close together that they take the form of a single line of extrusion. When this is set to false, sections of your object so thin that they require only a single extrusion width will not print at all.

"doInternalSpurs" True/False.
[InternalSpurs]指的是物件內部單層的結構物,當內框線段太靠近時,Spurs會以單線或是薄殼的方式來擠出。這個設定值是有效的時候,當物件的切面過薄,系統會擠出一條薄層的厚度來填充兩個薄層間的縫隙,但是這個選項是實驗性的,並不會每次都刻意的執行。
Internal spurs are spurs that appear inside the outlines of your object. Sections of a print that narrow to a point will often result in internal spurs on inner shells. When doInternalSpurs is set to true, segments of single extrusion width will be used to fill the gaps between two shells where possible. This feature is experimental and may not always work as intended.

"minSpurWidth" / "maxSpurWidth" Millimeters.
Spurs寬度設定介於最大寬度[maxSpurWidth]與最小寬度[minSpurWidth]之間。寬度超過[maxSpurWidth]時系統將會調整擠出的寬度,寬度小於[minSpurWidth]時將會被主動忽略。
Spurs will not be used for sections wider than the maxSpurWidth or more narrow than the minSpurWidth. Sections wider than the maxSpurWidth will accommodate multiple extrusion widths. Sections narrower than the minSpurWidth will not be printed. 

"minSpurLength" Millimeters.
假如線段的長度小於這邊的設定值,該線段將會被忽略。
Spur segments will be eliminated from the final toolpath if they are shorter than the value set here.

"spurOverlap" Millimeters.
這個設定將允許 Spurs 以輸入的數值,來作為延伸、銜接的依據。
This setting allows spurs that almost touch to join by extending them by the amount set here.

"minLayerDuration" Seconds.
這個設定是最小切層列印時間-任何切層時間計算之後凡是小於這個設定值,列印的時間都會拖慢,直到到達這個設定時間長度為止。這樣的功能,讓小尺寸的切割物件有足夠的時間來冷卻,這樣之後的列印就不會黏附在未凝固的塑膠之上。
This sets the minimum layer time -- any layer that will take less than the time set here to complete will be slowed down until the layer duration is equal to this number of seconds. This gives small layers time to cool, so that the following layers will not be printed on still-melted plastic.

"rapidMoveFeedrateXY" / "rapidMoveFeedrateZ" Millimeters/second.
[rapidMoveFeedRate]設定是當噴頭不運作時的移動速度。這樣的移動通常也可稱為[travel moves],通常這個設定的速度可以比噴頭運作時更快速。[rapidMoveFeedrateXY]指的是X、Y軸上的移動速度,[rapidMoveFeedrateZ]指的是Z軸上的移動速度。
The rapidMoveFeedRate settings describe moves the extruder makes when it's not extruding plastic. These movements are known as travel moves, and they can usually be somewhat faster than moves with extrusion. The rapidMoveFeedrateXY setting controls travel moves along the X and Y axes and rapidMoveFeedrateZ controls travel moves along the Z axis.

"doRaft" True/False.
這個設定將決定筏基(Raft)是否被生成出來。如果設定為"無效",那各種的 Raft 的設定將都會被忽略。
The doRaft setting determines whether or not your toolpath will include a raft. If this is set to false, the various raft-related settings below will be ignored.

"raftLayers" Integer, [0, infinity].
這設定決定了 Raft 被噴出來的層數,第一層會是最厚實的一層,之後都會是薄層的重疊。
This determines the total number of raft layers that will be printed. The first of these layers will be a thicker base layer; the rest will be thinner interface layers.
"raftBaseThickness" Millimeters.
這數值決定了第一層筏基(Raft)的厚度,單位為mm。
This sets the layer height for the base layer of the raft.

"raftInterfaceThickness" Millimeters.
這個數值決定了筏基除了第一層之後,其他層的厚度,單位為mm。
This sets the layer height for the interface layers of the raft. All raft layers after the base layer are interface layers.

"raftOutset" Millimeters.
這個參數將設定 Raft 從列印模型往外延伸的距離。
This determines how far the raft extends around the base of your model.

"raftModelSpacing" Millimeters.
這個設定定義了 Raft 頂部到模型底部間的垂直間距。輸入正的數值將產生一個微小的間距,讓移除的過程能夠更加輕鬆,但也意味著物件的第一個層不會那樣的平滑。輸入負的數值,物件將會擠入筏基之內,產生一個強壯而堅固的結合狀態。
This setting defines the vertical gap between the top of raft and bottom of model. Positive values create a slight gap between the top raft layer and bottom object layer, making the object easier to remove from the raft, but also result in a less smooth first object layer. Negative values squeeze the object into the raft, resulting in a stronger bond between the raft and the object.

"raftDensity" Decimal, [0.1,1.1].
每個 Raft 的圖層都是一個來回曲折的路徑。當這個數值設定為 1.0 的時候,結果將會升成一個實心的底面,每一個路徑的線段都會緊緊相連著之前的線段;一個較低的數值意味著有更多空隙的路徑。這個數值的範圍是介於 0 與 1 之間的十進位小數。
Each raft layer forms a zigzag. A raft density of 1.0 will result in a solid raft, with each new segment of the zigzag printed directly alongside the previous one. A lower density will result in wider-spaced zigzags.

"raftAligned" True/False.
當設定為 True 時,這個設定將會強制所有的 Raft 交錯圖層都跑同一個方向。當設定為 false 時,這些筏基的線段將會以九十度交錯於先前的圖層。當列印的層厚過小時,最好設定為 True 以達到一個較佳的品質。
When set to true, raftAligned forces all the raft's interface layers to run in the same direction. When set to false, the lines of extrusion on each filament layer will be rotated 90 degrees from the previous layer. Prints with small layer heights may work better with aligned rafts. 
"doSupport" True/False.
這個設定將會開啟/關閉"支撐結構"的選項。當設定為 false 時,[support-related]設定將會被忽略。
This setting turns support structures on and off. When it is set to false, the support-related settings below will be ignored.

"supportMargin" Millimeters.
這個設定定義了物件輪廓外框到支撐結構的距離,單位為mm。結構太接近物件將會難以移除,太遠離物件將會失去支撐性。
This setting defines the distance, in millimeters, between the outer edge of the object and the support structures. Structures closer to the object may be harder to remove when the build is complete, while structures farther away may provide less support.
"supportDensity" Decimal, [0.1,1.1].
當數值輸入為 1.0 時將會生成一個實心的結構,每個路徑都會緊密平行於先前噴出的路徑;一個相對低的數值會產生一個較鬆散的排列。
Each support layer forms a zigzag. A support density of 1.0 will result in solid support structures, with each new segment of the zigzag printed directly alongside the previous one. A lower density will result in wider-spaced zigzags.

"bedZOffset" Millimeters.
機器的[Z-axis offset]設定是儲存在機器的[onboard preferences]內。特別輸入這個數值的時候,軟體將允許你為 profile 數值做指定後的改變。
Your machine's Z-axis offset is stored in the onboard preferences. bedZOffset allows you to make an alteration to that setting that is specific to a slicing profile.

"layerHeight" Millimeters.
定義每一層的高度(也就是切片的厚度,單位是mm)
Defines the height of each layer.

"startX" / "startY" / "startZ" Millimeters.
這些數值定義了[start gcode]資料中,三個軸向的假定(assumed )起始位置。
These define the assumed starting position on all three axes at the end of the start gcode.

"startGcode" / "endGcode" String.
[startGcode/endGcode]分屬GCode路徑中最初與最終的兩個區塊。如果你打算使用各別的設定,可以在此指定。假如你想要替你的機型(Replicator 2X /original Replicator)創建一個特殊的GCode檔案,你需要延續著本文的指示說明,對這些檔案做簡易的修改。關於[start.gcode]的定義檔存在你的Things資料夾內,在[profiles]資料夾裡面。
This specifies the locations of the start and end GCode files appended to the beginning and end of your toolpath. If you're using custom start and end GCode, change the locations set here. If you are creating GCode for a Replicator 2X or an original Replicator, you will need to make some simple edits to these files. Follow the instructions in the comments of the start and end GCode files. You can find the start.gcode for any custom profile in your Things folder, under "profiles."
start.gcode 與 end.gcode 檔案的存放路徑

"doPrintProgress" True/False.
當參數設定為[True]時,輸出的資訊將會包含要顯示在機器LCD面板上的相關GCode訊息。
doPrintProgress, when true, output will include GCode commands to display build progress on the bot's LCD panel.

"doFanCommand" True/False.
當[doFanCommand]設定為[True]的狀態下,系統會在GCode中安插指令列去驅動風扇,讓它在列印過程中動態的運轉。這個設定是和[fanLayer]指令列有所關聯的;當[doFanCommand]設定為[False]的狀態下,[fanLayer]的設定將會被忽視。([active cooling fan]指的是動態偵測溫度的風扇,通常低於攝氏60度以下不會主動轉動)。
doFanCommand, when true, inserts a GCode command to turn on an active cooling fan during a build. The point at which this command is inserted is determined by the fanLayer setting below. When doFanCommand is set to false, the fanLayer setting will be ignored.

"fanLayer" Integer.
這個參數主要在[doFanCommand]的設定為[True]的狀態下,告知系統從哪一個切面開始驅動冷卻的風扇。
fanLayer determines at what layer the slicer inserts the command to turn on the active cooling fan. When doFanCommand is set to false, this setting is not used.

"defaultExtruder" Integer, [0,1].
預設噴頭的選項(整數的 0 或 1)是設定機器預設狀態下使用哪個噴頭來列印物件。一台雙噴頭的機器,0 代表的是右噴頭,1 代表的是左噴頭。至於單噴頭的機器,噴頭的數值只有 0。
This setting determines which toolhead will be used to build your object. On a machine with dual extruders, 0 is the right toolhead and 1 is the left toolhead. On a machine with a single extruder, the toolhead is 0.

"commentOpen" / "commentClose" String.
不同的3D printers使用不同的字碼來傳遞GCode。[MakerBot Slicer]預設的設定直已經對該機器做過最佳化!
Different 3D printers use different characters to indicate comments in GCode. The MakerBot Slicer's default settings are optimized for use with MakerBot 3D printers.

"weightedFanCommand" Integer, [1, 100].
這個設定允許你去變動噴頭冷卻風扇的轉速。MakerBot 3D printers 用戶請不要變動這個設定!
Allows you to set an extruder fan speed. MakerBot 3D printers do not use this setting.

"extruderProfiles" String.
在這個參數中包含了兩個數據群組,分別代表著機器的右噴頭組和左噴頭組。第一個區段包含的數據群組是[toolhead 0]所象徵的右噴頭,第二個區段包含的數據群組是[toolhead 1]所象徵的左噴頭,在每個區段都包含著下列的設定:
The two sections enclosed in braces are the extruder profiles for a right and a left extruder. The first brace-enclosed section is the profile for toolhead 0 and the second is the profile for toolhead 1. Each contains the following settings: 

"firstLayerExtrusionProfile" / "insetsExtrusionProfile"infillsExtrusionProfile" / "outlinesExtrusionProfile"
這些選項允許你去針對機器不同的區塊進行列印上的設定。這四種不同的擠出方式設定差別在[firstLayerExtrusionProfile]是針對物件的第一層、[insetsExtrusionProfile]是針對物件的薄殼做設定、[infillsExtrusionProfile]是針對物件的填充百分比,以及[outlinesExtrusionProfile]是針對物件的外框列印設定,是指一個在物體之外再附加的薄殼。由於這個選項會在列印路徑的中線兩側都擠出薄薄的塑料,如此一來,物件實際擠出的大小在 X 與 Y 軸的向度,都會較原先電腦繪製的物件尺寸大上半個塑料擠出(extrusion width)的寬度。因此 Outlines 的選項通常是關閉的。
These settings allow you to specify custom settings for different sections of a print. The four kinds of extrusion differentiated here are the first layer of the object (firstLayerExtrusionProfile), the shells (insetsExtrusionProfile), the infill (infillsExtrusionProfile) and the outline (outlinesExtrusionProfile), which is an extra shell printed on the outline of your object. Since extrusions extend slightly on either side of the centerline they're printed on, this results in an object half the extrusion width larger on the X and Y axes than the digital model it came from. Outlines are usually turned off.
假如你在列印的時候有開啟[raft]功能,[firstLayerSpeed]將會針對 raft 的底層進行指定的動作。在兩個噴頭的 profiles 群組裡你會看到相關列印的設定,可以在這裡創建額外的擠出設定檔或是編輯現有的這些參數(feedDiameter/feedstockMultiplier....等等)。目前舊版的設定只能控制噴頭運作時每秒的移動速度,也就是[feedrate]的部分;更多的控制參數將在之後的新版本補上~
If you are printing with a raft, firstLayerSpeed will be used to set the feedrate for the base layer of the raft. Below the two extruder profiles you'll see the extrusion profiles. You can create additional extrusion profiles or edit these. Currently these contain only one setting: "feedrate" sets the rate at which the extruder moves while extruding in millimeters per second. Additional settings for the extrusion profiles will be coming soon.

在這個參數中包含了兩個數據群組
分別代表著機器的右噴頭組(上)和左噴頭組(下)

"feedDiameter" Millimeters.
當使用特別直徑的塑料時,就必須設定這一塊。假如這個數值太低,你的噴頭會擠出過多的塑料,相反如果調過高,噴頭的擠出量就會過少。(機器沒有額外的SENSOR,所以為了計算出噴嘴的擠出量,會用塑料的截面積/也就是直徑去算,送料的速度是固定時,代表著直徑越大截面積越大>擠出的量越多,所以為了達成平衡,軟體會根據你輸入的塑料直徑來反推送料的速度>塑料直徑越小=送料速度愈快;反之,亦然。)
Specify the diameter of the filament you will be using. If this value is too low, your extruder will extrude too much plastic. If it is too high, your extruder will extrude too little.

"feedstockMultiplier" Decimal, [0,1].
塑料送進噴頭與從噴嘴送出時有一個誤差值,[feedstockMultiplier]就是這個補償值的設定量,數值為介於 0 到 1 的小數。相關的因素包括塑料的密度以及塑料離模時的膨脹(die swelling)。
This number compensates for differences between the volume of plastic going into the extruder and the volume of plastic extruded from the nozzle. Factors may include filament density and die swell.

"nozzleDiameter" Millimeters.
指定噴頭上設置的噴嘴直徑,單位是公釐(mm)。
Specify the diameter of the nozzle being used on your extruder.

"retractDistance" Millimeters.
你的噴頭噴完之後會把塑料倒轉特定的長度,之後才會進行移動,如此一來可避免滲出物(ooze是分泌物的意思)。
Your extruder will retract the amount of filament specified here before travel moves, in order to prevent ooze.

"retractRate" Millimeters per second.
這個速率是以每秒跑多少公釐(mm/s)為單位,設定的是噴頭對塑料執行倒轉(retractions)時的速率。
Sets the rate at with your extruder will pull filament in during retraction.

"restartExtraDistance" Millimeters.
這個設定讓你擠出更多或是更少的塑料,在你的噴頭執行塑料的倒轉(retractions)之後。輸入正的數值將會讓更多的塑料被擠出來,做為某些特定的塑料在噴頭倒轉時會因為滴落而減少的補償動作,但是通常會產生多餘的堆積。輸入負的數值會減少塑料的推出量,這將會避免塑料堆積的狀況發生,但也可能會造成塑料供應的間斷而產生列印不正確的狀況。
This setting allows you to extrude more or less filament when your extruder restarts after retractions. A positive value will push a little bit of extra plastic out -- that's meant to compensate for any plastic that may have dripped out during retraction, but it might cause small blobs. A negative value will push out a little bit less plastic, which should eliminate blobs completely, but might result in gaps in extrusion or small details not printing correctly.

<終於翻完了>

Popular Posts