LoginSignup
0
0

More than 5 years have passed since last update.

スライサー(FDM式3Dプリンタ向け)の作成 付録C(パラメータ)

Last updated at Posted at 2016-12-31

1.はじめに

 作成したスライサーソフトのパラメータサンプルです。
 パラメータは種類別にファイル化し、メインとなるパラメータファイルで他のファイルを参照する形にしました。また、メインとなるパラメータファイル自体もコマンドラインから指定できるため、ファイル名に規則はありません。

2.1 param.xml

 メインとなるパラメータファイルです。

param.xml
<?xml version="1.0" encoding="UTF-8"?>

<!--
    スライスパラメータ定義ファイル
    [file]     : 定義ファイルを定義します。
     [hardware]  : ハードウェア定義ファイルを定義します。
     [script]   : スクリプト定義ファイルを定義します。
     [print]   : 出力定義ファイルを定義します。
     [filalemnt] : フィラメント定義ファイルを定義します。(エクストルーダ(ツールヘッド)毎)
      [extrude] : 吐出(押出)幅を定義します。
    [ToolHead]   : 利用エクストルーダ(ツールヘッド)を定義します。
     [Primary]  : ターゲットモデルの利用エクストルーダ(ツールヘッド)を定義します。
     [Infill]   : インフィル(ターゲットモデル)の利用エクストルーダ(ツールヘッド)を定義します。
     [SkirtBrim] : スカート/ブリムモデルの利用エクストルーダ(ツールヘッド)を定義します。
     [Raft]    : ラフトモデルの利用エクストルーダ(ツールヘッド)を定義します。
     [Support]  : サポートモデルの利用エクストルーダ(ツールヘッド)を定義します。
-->

<profile name="default print settings" version="2016-03-12 00:00:00" app="ISSlicer" type="param">
    <file>
        <hardware        file="Hard.xml"/>
        <script          file="Script.xml"/>
        <print           file="Print.xml"/>

        <filament no="1" file="Filament_ABS.xml">
            <extrude autoWidth="0" width="0.4"/>    <!-- [auto/manual] [mm] -->
        </filament>

        <filament no="2" file="Filament_PLA.xml">
            <extrude autoWidth="0" width="0.4"/>    <!-- [auto/manual] [mm] -->
        </filament>
    </file>

    <ToolHead>
        <Primary   no="1"       />  <!-- [1or2]                 -->
        <Infill    no="999" />  <!-- [1or2or999] 999 is Primary or Seconday -->
        <SkirtBrim no="999" />  <!-- [1or2or999] 999 is Raft or Primary     -->
        <Raft      no="1"       />  <!-- [1or2]                 -->
        <Support   no="1"       />  <!-- [1or2]                 -->
    </ToolHead>
</profile>

2.2 Hard.xml

 ハードウェアを定義するパラメータファイルです。

Hard.xml
<?xml version="1.0" encoding="UTF-8"?>

<!--
    ハードウェア定義ファイル
    [extruder]       : エクストルーダ(ツールヘッド)の定義をします。
    [buildArea]       : 造形エリアの定義をします。
    [hasHeatedBed]     : 加熱ベッドの定義をします。
    [hasCoolingFan]     : 冷却ファンの定義をします。
    [rapidSpeed]      : 空移動速度を定義します。
    [toolChangeRetraction] : エクストルーダ(ツールヘッド)の変更時のリトラクション(フィラメント吸込み/戻し)の定義をします。
-->
<profile name="Bonsai Lab BS01+Dual" version="2016-03-12 00:00:00" app="ISSlicer" type="hardware">
    <!-- no[1or2] diameter[mm] offset[mm]   -->
    <extruder no="1" name="Tool 1" diameter="0.4" offsetx= "0.0" offsety="0.0"  />
    <extruder no="2" name="Tool 2" diameter="0.3" offsetx="28.4" offsety="0.0"  />

    <buildArea  x="150.0" y="130.0" z="102.0"   />  <!-- [mm]       -->

    <hasHeatedBed  value="1"                    />  <!-- [on/off]       -->
    <hasCoolingFan value="1" limitLowSpeed="30" />  <!-- [on/off] [%]   -->

    <rapidSpeed XY="80.0" Z="16.7"      />  <!-- [mm/sec]       -->

    <toolChangeRetraction distance="12.0" restart="2.0" speed="10.0"    />  <!-- [mm] [mm] [mm/sec] -->
</profile>

2.3 Script.xml

 スクリプトを定義するパラメータファイルです。

Script.xml
<?xml version="1.0" encoding="UTF-8"?>

<!--
    スクリプト定義ファイル
    [startingGcode] : 第1層出力前に実行されるG-Codeを定義します。
    [endingGcode]  : 最終層出力後に実行されるG-Codeを定義します。
    ※共通 ,(半角カンマ)を改行コードとして扱います。
-->
<profile name="Script(Default Setting)" version="2016-03-12 00:00:00" app="ISSlicer" type="script">
    <startingGcode>G1 X100 F8000     ; move X100,M700        ; (org)Start Print,</startingGcode>
    <endingGcode>G1 Y0 F8000     ; move Y0,M701      ; (org)End Print,M84        ; disable motors,M31        ; show print time,</endingGcode>
</profile>

2.4 Print.xml

 出力設定を定義するパラメータファイルです。

Print.xml
<?xml version="1.0" encoding="UTF-8"?>

<!--
    出力パラメータ定義ファイル
    [Slice]   : スライス一般の定義をします。
    [Layer]   : レイヤーの定義をします。
    [SkirtBrim] : スカート/ブリムの定義をします。
    [Raft]    : ラフトの定義をします。
    [Infill]   : インフィルの定義をします。
    [Support]  : サポートの定義をします。
    [Speed]   : 速度の定義をします。
    [Other]   : (将来対応)
-->
<profile name="default print settings" version="2016-03-12 00:00:00" app="ISSlicer" type="print">
    <Slice>
        <GCodeExt        value=".g" />
        <DisableShortCut value="1"  />  <!-- [on/off]       -->
        <edgeWait        flag="0" angle="125.0" time="1"    />  <!-- [on/off] [°] [msec]   -->
    </Slice>

    <Layer>
        <layerHeight              value="0.3" />    <!-- [mm]                 -->
        <topSolidLayers           value="3"   />    <!-- [層]   or [mm]        -->
        <bottomSolidLayers        value="3"   />    <!-- [層]   or [mm]        -->
        <perimeterOutlines        value="3"   />    <!-- [ループ] or [mm]     -->
        <printPerimetersInsideOut value="1"   />    <!-- [in-out/out-in]  -->
        <sequentialIslands        value="0"   />    <!-- [on/off]             -->
        <AutoLayerHight           value="0"   />    <!-- [on/off]             -->
        <MicroLayering            value="1"   />    <!-- [分割]               -->
        <AutoMicroLayering        flag="0" Overlap="50.0" LowLimit="5" />  <!-- [on/off] [%] [分割] or [mm]   -->
        <lowestTime               flag="0" time="6"                    />  <!-- [on/off] [sec]                -->
    </Layer>

  <Infill>
    <infillPercentage         value="20.0"        />    <!-- [%] or [mm]  -->
    <outlineOverlapPercentage value="50.0"        />    <!-- [%] or [mm]  -->
    <infillAngles             value="45.0,-45.0"  />    <!-- [°] ,区切り -->
  </Infill>

  <SkirtBrim>
        <useSkirt      value="0"      />    <!-- [on/off]           -->
        <skirtLayers   value="1"      />    <!-- [層] or [mm]   -->
        <skirtOffset   value="1.0"  />  <!-- [mm]               -->
        <skirtOutlines value="5"      />    <!-- [ループ] or [mm] -->
        <BoundingBox   value="1"      />    <!-- [on/off]           -->
    </SkirtBrim>

    <Raft>
        <useRaft                value="0"       />  <!-- [on/off]         -->
        <raftLayers             value="1"       />  <!-- [層]         -->
        <raftOffset             value="1.0"     />  <!-- [mm] xy          -->
        <raftSeparationDistance value="0.05"    />  <!-- [mm] z         -->
        <raftInfill             value="95.0"    />  <!-- [%]  or [mm]   -->
<!--        <raftSeparationDistance value="0.14"    />  <!-- [mm] z         -->
<!--        <raftInfill             value="85.0"    />  <!-- [%]  or [mm]   -->
        <disableRaftBaseLayers  value="0"       />  <!-- [on/off]         -->
        <BoundingBox            value="1"       />  <!-- [on/off]         -->
        <finishWait             value="5"       />  <!-- [sec]          -->
  </Raft>

    <Support>
        <generateSupport              value="0"     />  <!-- [on/off]       -->
        <supportInfillPercentage      value="30.0"  />  <!-- [%]  or [mm] -->

    <denseSupportLayers           value="3"     />  <!-- [層] or [mm] -->
        <denseSupportInfillPercentage value="70.0"  />  <!-- [%]  or [mm] -->

        <supportUpperSeparationLayers value="1"     />  <!-- [層] or [mm] -->
        <supportLowerSeparationLayers value="1"     />  <!-- [層] or [mm] -->

        <maxOverhangAngle             value="45.0"  />  <!-- [°]         -->
    </Support>

    <Speeds>
        <defaultSpeed       value="50.0"    />  <!-- [mm/sec]                     -->
        <FirstLayerSpeed    value="30.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <OuterOutlineSpeed  value="50.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <InnerOutlineSpeed  value="80.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <SolidInfillSpeed   value="80.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <InfillSpeed        value="100.0%"  />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <SkirtBrimSpeed     value="50.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <RaftBaseSpeed      value="25.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <RaftSpeed          value="50.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <SupportSpeed       value="100.0%"  />  <!-- [mm/sec] or [%]@defaultSpeed -->
        <DenseSupportSpeed  value="80.0%"   />  <!-- [mm/sec] or [%]@defaultSpeed -->
    </Speeds>
</profile>

2.5 Filament_ABS.xml

 フィラメント特性を定義するパラメータファイルです。

Filament_ABS.xml
<?xml version="1.0" encoding="UTF-8"?>

<!--
    フィラメント定義ファイル
    [filament]       : 材料(フィラメント)の定義をします。
    [extrude]       : 吐出(押出)率を定義します。
    [toolheadTemperature] : ツールヘッドの温度を定義します。
    [bedTemperature]    : 加熱ベッドの温度を定義します。
    [coolingFan]      : 冷却ファンの定義をします。
    [retract]       : リトラクション(フィラメント吸込み/戻し)の定義をします。
-->
<profile name="ABS" version="2016-03-12 00:00:00" app="ISSlicer" type="filament">
    <!-- diameter[mm] density[grams/cm^3] price[price/kg]   -->
    <filament maker="Plasil" brand="" kind="ABS" diameter="1.75" density="1.025" price="4300.0"/>
    <extrude    multiplier="100.0"  />  <!-- [%]    -->

    <toolheadTemperature>
        <setpoint layer="1" temperature="245"   />  <!-- [層] [°] -->
        <setpoint layer="2" temperature="240"   />  <!-- [層] [°] -->
    </toolheadTemperature>

    <bedTemperature>
        <setpoint layer="1" temperature="90"    />  <!-- [層] [°] -->
        <setpoint layer="2" temperature="80"    />  <!-- [層] [°] -->
    </bedTemperature>

    <coolingFan>
        <setpoint layer="1" speed="0.0" />  <!-- [層] [%]  -->
    </coolingFan>

    <!-- flag[on/off] distance[mm] restart[mm] zlift[mm] speed[mm/sec]  -->
    <retract  flag="1" distance="4.0" restart="0.0" zlift="0.0" speed="40.0"    />
</profile>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0