ALPHACAM 2020.1

新機能紹介

: 2020.1 新機能紹介

ALPHACAM 2020.1

目次
目次 ......................................................................................................................................................................... 2
重要なお知らせ ....................................................................................................................................................... 4
対応 OS ............................................................................................................................................................... 4
保守期限 .............................................................................................................................................................. 4
加工 ......................................................................................................................................................................... 5
輪郭加工 – 断面 – ソリッドフェースからの自動 Z ........................................................................................... 5
ソーカット- ソリッドフェース – 選択フェースの角度およびオープンフェース ............................................... 6
加工工程 - 素材の移動 ......................................................................................................................................... 6
一般設定 – アプローチ/リトラクトの自動修正 ................................................................................................... 7
特殊機能 .................................................................................................................................................................. 8
特殊機能 – ラインプロパティ- ギャップ長 ......................................................................................................... 8
作図 – オートスナップ – 最近点のスナップを有効化......................................................................................... 8
CAD 入力 – ポリフェースメッシュのサポート .................................................................................................. 9
CAD - 形状のノード編集 .................................................................................................................................. 10
CAD - レイヤによるフィルター........................................................................................................................ 11
CAD - ALPHACAM エッセンシャルにパラメトリックスケッチの追加 ......................................................... 12
ネスティング......................................................................................................................................................... 13
ネスティング – ネスト評価ウィンドウの改善 .................................................................................................. 13
ネスティング - オートスタイルによる裏面ネスティング................................................................................. 14
工具 ....................................................................................................................................................................... 15
工具 - ミル/旋盤/ルータモジュールにおける非プランジ工具の干渉のサポート .............................................. 15
プロファイリングモジュール ............................................................................................................................... 16
プロファイリングモジュール - 上下輪郭指定加工の編集................................................................................. 16
その他 ................................................................................................................................................................... 17
保守契約による機能制限の変更 ........................................................................................................................ 17
ユーザーインターフェース- 旧バージョンのメニューとツールバー形式のインターフェースの廃止 ............. 17
ユーザーインターフェース- 既定フォント設定 ................................................................................................ 18
Hexagon へブランド変更 .................................................................................................................................. 19
www.alphacam.com

2 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

サポートされている CAD データバージョン ....................................................................................................... 20
サポートされている CAD データバージョン ................................................................................................... 20
メンテナンスレポート .......................................................................................................................................... 22
メンテナンスレポート ...................................................................................................................................... 22
Appendix A - ALPHACAM 2020.1 での API 改造 .............................................................................................. 24
Automation Manager – ‘AutomationManagerBeforeCSVImport’ and‘AutomationManagerBeforeAddingFileToJob’ events ................................................................................... 24
Automation Manager – Auto-Associate Jobs and JobFiles ........................................................................... 25
Automation Manager – Fittings ..................................................................................................................... 27
Automation Manager – New event called after part alignment ................................................................... 28
Automation Manager – Subcomponents ........................................................................................................ 29
Cut Surface/Solids With Disk – Set Boundaries ............................................................................................ 31
Lines – Set/Get Dash and Gap Lengths ......................................................................................................... 32
Move material .................................................................................................................................................. 33
Rough/Finish - Solid Faces .............................................................................................................................. 35
Save Solid Bodies to Files ................................................................................................................................ 35
Skew .................................................................................................................................................................. 37
Skew – Slant Geometries ................................................................................................................................ 39
Stone – Water Jet Operations ......................................................................................................................... 40

www.alphacam.com

3 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

重要なお知らせ
対応 OS

ALPHACAM 2020.1 が対応しているOSは以下の通りです:
Windows 7 ‐ Professional, Enterprise, Ultimate SP1
Windows 8.1 ‐ Professional, Enterprise
Windows 10 ‐ Professional, Enterprise
注記: ALPHACAM 2020.1 は64ビットOSにしかインストールできません
Windows8はサポートされていません
詳細な情報はこちら http://www.alphacam.com.
保守期限

ALPHACAM 2020.1 をご使用になるには、保守期限が 2019 年 10 月以降の必要があります。

www.alphacam.com

4 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

加工
輪郭加工 – 断面 – ソリッドフェースからの自動 Z

輪郭加工の断面:ソリッドフェースからの自動 Z において、下図の様にエッジに円弧が含まれる円筒面の加工が可能となりました。フェースを選択すると、自動で作業平面および工具経路が作成されます。
また、ソリッドフェースに対して選択中の作業平面のローカル Z 軸を使用して、適切なアプローチおよび工具
傾斜角（スキャンガイド）を指定することができます。（例:フェースに対して傾斜角 90°or -90°の指定）
ソリッドフェースからの自動 Z を選択した際、レベルとカットタブに下 Z レベルを追跡オプションが追加されました。下図左の様に、傾斜しているフェースに対して輪郭加工を行う場合、工具は加工開始点となるエッジ
端点の深さまで傾斜した状態で切り込みます。この際、輪郭加工は斜めの作業平面上に作成されるため、工具長を越えた切削になる場合があります。このオプションを有効にすることで、下図右の様に工具がフェース下部のエッジに沿う様に調整されます。

www.alphacam.com

5 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

ソーカット- ソリッドフェース – 選択フェースの角度およびオープンフェース

自動 Z を使用したソリッドフェースに対するソーカット時に、選択対象となるフェースの傾斜角の最小～最大角度の指定が出来るようになりました。また、終端が開いているフェースのみを指定することが出来るようになりました。

加工工程 - 素材の移動

加工｜設定｜素材の移動 コマンドが追加されました。
このコマンドで付加素材として設定した素材の移動を工程として設定することができます。
このコマンドによる素材の移動はクランプの定義が不要です。
この機能を使用する場合は、機械がクランプ機構を持っている + ポストプロセッサが対応している必要があります。

www.alphacam.com

6 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

一般設定 – アプローチ/リトラクトの自動修正

ALPHACAM 2017 以降、設定したアプローチ/リトラクトがパーツに干渉する場合、工程をそのまま作成するか、アプローチ/リトラクト無しで工程を作成するかの警告を表示しています。
以前のバージョンでは、特定の場合においてアプローチ/リトラクトが自動で修正されていましたが、
2020.1 ではホーム｜環境設定｜一般設定｜加工 から自動修正のオン/オフが指定できるようになりました。

www.alphacam.com

7 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

特殊機能
特殊機能 – ラインプロパティ- ギャップ長

特殊機能｜ラインプロパティ の線種設定/線種変更に、
ギャップ長の設定が追加されました。

作図 – オートスナップ – 最近点のスナップを有効化

作図等の際にオートスナップを ON にしている場合、終点/中点/中心以外の形状要素上を自動でスナップできる様になりました。
この設定はホーム｜設定｜環境設定｜一般設定 から設定でき、有効にしている場合、オートスナップで最近点以外の終点等の点をスナップした際は緑色のマーカーで表示されます。

www.alphacam.com

8 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

CAD 入力 – ポリフェースメッシュのサポート

ポリフェースを含む DXF および DWG ファイルがサポートされました。

www.alphacam.com

9 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

CAD - 形状のノード編集

形状線のノードを編集して変形させるコマンドが追加されました。

下図の様に、形状線や補助線のノードをドラッグ or クリックすることで変更し、形状の修正や調整が出来る
様になりました。円弧タイプおよび円弧の方向は、円弧要素の端点のノードを変更する際に適用されます。

www.alphacam.com

10 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

CAD - レイヤによるフィルター

移動や複写コマンドなど、形状を画面上ピックして選択する際に、ウィンドウ下部のプロンプトバーに追加されたレイヤボタンからレイヤ単位で選択することが出来るようになりました。

レイヤボタンをクリックすると、以下のダイアログが表示されます。チェックボックスをオンにしたレイヤに含まれる全ての要素を選択します。
注記: 以下のダイアログで選択することが出来るのは、表示がオンになっているレイヤのみです。

www.alphacam.com

11 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

CAD - ALPHACAM エッセンシャルにパラメトリックスケッチの追加

ALPHACAM エッセンシャル（ミル、ルーター、ストーン）に、パラメトリックスケッチとパラメトリックスケッチの実行コマンドが追加されました。
注記： エッセンシャルのため、作業空間作成や平面の選択機能は使用することが出来ません。

www.alphacam.com

12 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

ネスティングネスティング – ネスト評価ウィンドウの改善

ネスティングシートにおけるオフカットと見なされる領域を暗いグレーで表示するようになりました。
ネスト評価中のウィンドウでは、途中経過におけるシートの使用比率が表示されていますが、この比率にはオフカットの領域は含まれておらず、明るいグレーで表示されている領域における比率を示しています。

www.alphacam.com

13 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

ネスティング - オートスタイルによる裏面ネスティング

以前のバージョンでは、裏面ネスティングを使用する際には表面用のパーツの図面データおよび裏面用の図面
データ(表面のファイル名末尾に”_Rev”を付けたもの)を同じディレクトリにあらかじめ保存しておく必要がありました。
2020.1 では、Rev ファイルの代わりにオートスタイルを使用することで裏面データの作図を省略することが出来るようになりました。
ネストパーツに適用を使用することであらかじめネストされたパーツを表面とし、指定した軸で反転させたパーツを Rev ファイルの代わりの裏面パーツとして扱ってオートスタイルを適用できます。
Rev ファイルを既に作成している場合は、裏面パーツファイルに適用を使用することで、これらにオートスタイルを適用できます。

www.alphacam.com

14 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

工具
工具 - ミル/旋盤/ルータモジュールにおける非プランジ工具の干渉のサポート

3D の荒加工などではプランジ加工ができないような工具を使用することがあります。
（右図のような工具底面において上方向にくぼみを持ち、ナットで工具を保持しているようなタイプ）
ソリッドシミュレーション時、このタイプの工具の干渉が検出出来るようになりました。

www.alphacam.com

15 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

プロファイリングモジュール
プロファイリングモジュール - 上下輪郭指定加工の編集

2020.1 では、プロファイリングモジュールにおける上下輪郭指定加工の工程作成後の編集が可能となりました。

www.alphacam.com

16 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

その他
保守契約による機能制限の変更

一部の機能のライセンス制限を変更しました。
保守契約継続中では無い場合でも、以下の機能が使用出来るようになりました。
••

パラメトリックスケッチャ
レポートデザイナ

ユーザーインターフェース- 旧バージョンのメニューとツールバー形式のインターフェースの廃止

ALPHACAM2021.1 以降のバージョンにおいて、旧バージョンで使用されていたメニューとツールバー形式のインターフェースは廃止されます。メニューとツールバー形式のインターフェースにおいて、近年追加された多くの新機能はサポートされていません。旧バージョンのインターフェースを使用されている場合は、本バージョンからリボンバー形式のインターフェースに切り替えることを強くお勧めいたします。

www.alphacam.com

17 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

ユーザーインターフェース- 既定フォント設定

一般設定において、寸法の既定フォントが指定できるようになりました。

www.alphacam.com

18 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Hexagon へブランド変更

Vero Software から Hexagon Production Software へブランド変更に伴い、この本バージョンでは以下の変更が行われました。
フォルダ
•
•
•
•

ALPHACAM のインストール先のフォルダが、C:\Program Files\Vero Software\ALPHACAM
から C:\Program Files\Hexagon\ALPHACAM へ変更されました。
設定ファイルの保存先のフォルダが C:\ProgramData\LicomSystems\Alphacam から
C:\ProgramData\Hexagon\ALPHACAM に変更されました。
Appdata の保存先が C:\Users\<USERNAME>\AppData\Local\Vero Software から
C:\Users\<USERNAME>\AppData\Local\Hexagon に変更されました。
LICOMDAT と LICOMDIR のデフォルトのインストール先は変更ありません (C:\Alphacam)

レジストリ
フォルダの変更と同様に、レジストリのキー名も以下に変更となりました。
••

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Hexagon\
Computer\HKEY_CURRENT_USER\SOFTWARE\Hexagon\

注記: 例外Computer\HKEY_CURRENT_USER\Software\LicomSystems\AlphaCAM\Display
上記のキーは 32 ビットの 3D シミュレータで使用されています。

www.alphacam.com

19 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

サポートされている CAD データバージョン
サポートされている CAD データバージョン

E = エッセンシャル

S = スタンダード

A = アドバンスド

U = アルティメイト

CAD データ形式

ルータ

ストーン

旋盤

ミル

ワイヤ

ﾚｰｻﾞｰ

DXF/DWG (AutoCAD 2018)

ESAU

ESAU

ESAU

ESAU

SA

AU

IGES (not version specific)

ESAU

ESAU

ESAU

ESAU

SA

AU

Rhino 5.0

SAU

SAU

SAU

SAU

SA

AU

STL (not version specific)

SAU

SAU

SAU

SAU

SA

AU

SketchUp 2017

SAU

SAU

SAU

SAU

SA

AU

Adobe PDF

ESAU

ESAU

U

ESAU

SA

AU

Adobe Illustrator

ESAU

ESAU

U

ESAU

SA

AU

PostScript

ESAU

ESAU

U

ESAU

SA

AU

STEP AP203/AP214/AP242 (preferred Schemas)

AU

AU

AU

AU

A

U

Part Modeler (current)

AU

AU

AU

AU

A

U

VISI Version (current)

AU

AU

AU

AU

A

U

AU

AU

AU

AU

A

U

ACIS R1 – 2019 1.0

AU

AU

AU

AU

A

U

Parasolid 9.0 – 31.0.216

AU

AU

AU

AU

A

U

SOLIDWORKS 2019

AU

AU

AU

AU

A

U

Solid Edge ST11 (PAR & PSM files)

AU

AU

AU

AU

A

U

Spaceclaim 2019 R1

AU

AU

AU

AU

A

U

JT Open 10.2

AU

AU

AU

AU

A

AU

ALPHACAM Designer Files

AU

AU

AU

AU

A

U

Autodesk Inventor 2019 (current, IPT & IAM files)

Autodesk Inventor ファイルの読み込みには Autodesk Inventor®または Inventor® View™がインストー
ルされている必要があります。Inventor® View™ は Autodesk からダウンロードできます。

www.alphacam.com

20 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

CAD データ形式

ルータ

ストーン

旋盤

ミル

ワイヤ

ﾚｰｻﾞｰ

有償オプション
Catia V4 4.1.9 - 4.2.4

AU

AU

AU

AU

A

U

CATIA V5 V5R8 - V5-6R2019

AU

AU

AU

AU

A

U

CATIA V6 Up to V6 R2019x
Note: CATIA V6 users should export their databaseobjects as CATIA V5 CATParts or CATProducts.

AU

AU

AU

AU

A

U

Creo 6.0 (formerly Pro/E Wildfire)

AU

AU

AU

AU

A

U

NX12.0.0 (updates for Unigraphics NX1847)

AU

AU

AU

AU

A

U

www.alphacam.com

21 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

メンテナンスレポート
メンテナンスレポート

以下の不具合修正・改善が ALPHACAM 2020.1 で行われました
ID

Description

Closing Notes

1187

Fixed.

1545

Add-ins - Reverse Side Nesting - Warning 'This part contains awork plane' when it does not. Part is not nested.
Solid Simulation - Move Clamp Fixture - Move Material - Incorrect
Result.
Profiling - Cut Between Contours - This type of Operation cannot be edited.

1640

Reports - Part Machining time is wrong.

Fixed.

3392

Fixed.

5625

Geometry - Snaps - XY View - If some Snap options are used when zoomed
in, a Zoom All occurs straight afterwards.
Machine Configuration - Clamps and Fixtures - Moving clamp
with an associated material fails in solid simulation.
STL - Layer visibility is forgotten (Hide / Show) after closing ALPHACAM.

8865

Input CAD - Failure to import PDF.

Fixed.

9191

Reports - Incorrect Depth value shown on report once machining is added
after Automation Processing.
Automation Manager - Feature extraction - Feature extraction tolerance isbeing taken from the Automatic Extraction settings and not those in
Automation Manager.
Pocketing - Take Account of Previous Machining - Whole area machined if
there is no excess material from previous operation.
Rough or Finish - Take account of Previous Machining - Produces an extra
path if open elements are used on more than one concurrent side.
Automation Manager - Check Machine Table Collision - Decimal Separator
issue with Table Top Z level.
Lead In/Out - Leads not reduced in size when the user chooses tokeep leads. Part gouged.

Fixed.

Fixed.

13361

Input CAD - DXF/DWG - Incorrect import of 3D drawings related
to Polyface Meshes.
Help File – Drop-down menus in the Online Help do not work for Czech
Language.
Advanced 5 Axis - Projected Curves - Projection Distance not remembered.

15877

Reports - Incorrect line thickness on part images when output as PDF.

Fixed.

16484

Fixed.

17068

Lathe - GUI - Stretch & 2D Transform - X and Z manual entry field labels areback to front.
Advanced 5 Axis - 2D Containment - Incorrect behaviour when reselecting
geometries.
Thread Milling - Tool number with more than 6 digits causes an error.

17180

Incorrect information in nesting report.

Fixed.

17182

Lathe - Incorrect rapids for Drilling on back spindle.

Fixed.

17218

Nesting - Cut Small Parts First – Has no effect.

Fixed.

17810

Horizontal Z Contours - Incorrect dialog image.

Fixed.

17925

Nesting – Save Offcut - If you choose not to save to the sheet database, no
toolpath is created.

Fixed.

1443

4697

9298
10421
10424
10562
11488

13022
13335

16879

www.alphacam.com

Fixed.
Fixed.

Fixed.
Fixed.

Fixed.
Fixed. Requires operation
updating.
Fixed.
Fixed.
Fixed.
New setting in
Configure > General >Machining.

Fixed.
Fixed.

Fixed. Only containment
curves can be reselected.
Fixed.

22 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

ID

Description

Closing Notes

17935

Nesting - Selecting another command while sheet selection is active causes
a crash.
Automatic Feature Extraction - No drillable holes were found.

Fixed. Other commands
suppressed.
Fixed. Tolerance relaxed.
Fixed.

18178

Advanced 5 Axis - Run Tool - At User Given Point - Checkbox not
remembered.
Lathe - Program Stop - If placed at start, causes operations to disappear.

18205

Stone - Cut With Disk - Wrong rapids when setting manual lead-out.

18249

Tool Ordering - Unhandled Exception if Stop is used.

Fixed. Requires operation
updating.
Fixed.

18276

Automation Manager - JobFile files are not added to support zip until you
click in the JobFile.
Automation Manager - Adding a Layer Mapping through the API fails.

Fixed.

18370

Automatic Feature Extraction - Set Default is the active button instead of
OK.

18391

Nesting - Crashes on specific Parts. Sawing.

Fixed.
Ability to tab into Get/Set
Default buttons has been
removed.
Fixed.

18431

Nesting - Bridged - Causes Drilling operation to disappear.

Fixed.

18451

Automation Manager - Nesting - Onion Skin - Erroneous extra paths.

Fixed.

18490

Fixed.

18593

Automation Manager - Wizard - 'Do you wish to process this job' is nottranslatable.
Constraints - Insert Parametric Drawing - Fail on work plan origin constraintusing elements as a point reference.
3D Machining - edgesrv - Does not create a toolpath.

18747

Offset - Can no longer offset Construction as Geometry.

Fixed.

18773

Fixed.

18807

CDM - Legacy Job Data migration fails if Door Type does not exist
in Library.
Profiling - CutPath API causes crash.

18919

API - SolidBody.Select failed.

Fixed.

18980

Move Material - Solid Simulation will stop when a material
collision is detected.
Advanced 5 Axis - 5 Axis Optimiser - Fails to optimise.

Fixed.

Automation Manager - Cannot process non-nested components
with Multidrilling.
Reports - Causes line thickness to change in active drawing.

Fixed.

Nesting - New nesting UI crashes ALPHACAM if using menus and toolbars(legacy).
Rough or Finish - Too many warnings that lead in / out may foul.

Fixed.

17961
18157

18326

18590

18989
19245
19346
19667
19694

www.alphacam.com

Fixed.

Fixed.

Fixed.
Fixed.

Fixed.

Fixed.

Fixed.

Fixed.

23 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Appendix A - ALPHACAM 2020.1 での API 改造
Automation Manager – ‘AutomationManagerBeforeCSVImport’ and ‘AutomationManagerBeforeAddingFileToJob’
eventsAutomation Manager now provides two new events for further customisation via the API. These aretriggered before adding a file to the job or before importing a CSV file to the job. Below is a quick exampleof their use:
Sub AutomationManagerBeforeCSVImport(job As AutomationManagerJob, importSetting As
AutomationManagerImportSetting, filename As String)
Event triggered before importing by CSV.
Sub AutomationManagerBeforeAddingFileToJob(job As AutomationManagerJob, filename As String)
Event triggered before adding the file to the job.
ExampleSub AutomationManagerBeforeCSVImport(job As AutomationManagerJob, importSetting As
AutomationManagerImportSetting, filename As String)' Sets the Import settings to ignore the header row
importSetting.IgnoreHeader = True
importSetting.SaveToDatabase False
End Sub
Sub AutomationManagerBeforeAddingFileToJob(job As AutomationManagerJob, filename
As String)' Updates the JobDescription with a description of the size of job
Dim fileCount As Integer
fileCount = job.JobFiles.Count + 1
If fileCount < 10 Then
job.JobDescription = "Small Job"
Else
job.JobDescription = "Large Job"
End Ifjob.SaveToDatabase
End Subwww.alphacam.com

24 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Automation Manager – Auto-Associate Jobs and JobFiles

Use the following methods to auto-associate sheets to files in a Job.
AutomationManagerJob. AutoAssociateSheet () As AutoAssociateResult
Run auto-associate sheets to all files in the job. Return the result from the auto-associate process.
AutomationManagerJobFile. AutoAssociateSheet () As AutoAssociateResult
Run auto-associate sheets in a job file. Return the result from the auto-associate process.
AutomationManagerJobFile.AutoAssociateMaterialName As String
This method contains the material type name associated with a JobFile.
AutoAssociateResult
Enumeration containing all results possible from running the auto-associate functions.
ExamplePublic Sub UseJobAndJobFileAutoAssociate()' Initialise Automation Manager Addin
Dim AcamAddins
As AcamAddins.AddIns
Dim AcamAddinsInterface
As AcamAddinsInterface.AddInsInterface
Dim Job

As AutomationManagerJob

Set AcamAddinsInterface = New AcamAddinsInterface.AddInsInterface
Set AcamAddins = AcamAddinsInterface.GetAddInsInterface(App)Set AutomationManager = AcamAddins.GetAutomationManagerAddIn' Get the first job
Set Job = AutomationManager.Jobs(1)' Run Auto Associate at the JOB level (it will auto associate all files in thatjob)
Dim retAutoAssociate As AutoAssociateResult
retAutoAssociate = Job.AutoAssociateSheets
If (retAutoAssociate <> AutoAssociateResult_Success) Then
' If it fails because the job is not using "Auto Associate Sheets to Job
Files" then stop
If (retAutoAssociate = AutoAssociateResult_NonAutoAssociateJob) Then
' Show and error and stop Sub
MsgBox "This job is a not an Auto Associate Sheets Job." & vbCrLf & _"Please, select Read File Information on Import and Auto Associate
Sheets to Job Files in the Configuration used on this job"
' StopExit SubEnd If' Something is wrong with one or multiple files.

www.alphacam.com

25 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1' For this example code purpose let's loop through all files and fix any
problem we might have.
Dim JobFile As AutomationManagerJobFile
For Each JobFile In Job.JobFiles' Use Auto Associated at the JOBFILE level
retAutoAssociate = JobFile.AutoAssociateSheet' Depending on the error result,Select Case retAutoAssociate
Case AutoAssociateResult_Success' Auto Associate worked ok.
Case AutoAssociateResult_NoThicknessMatch
MsgBox "Error: No Thickness of " & JobFile.Thickness & " for jobfile "& JobFile.PartName & " found on sheet database."
Case AutoAssociateResult_MultipleThicknessMatch
MsgBox "Error: JobFile " & JobFile.PartName & "Multiple material
thicknesses in database matches for thickness " & JobFile.Thickness
Case AutoAssociateResult_MissingMaterialType' Material type is missing let's set it
JobFile.AutoAssociateMaterialName = "MDF"' Save changes and try to AutoAssociate again.
JobFile.SaveToDatabase
JobFile.AutoAssociateSheet
End Select
Next JobFile
Else
MsgBox "Auto Associated at Job level worked OK"
End IfEnd Subwww.alphacam.com

26 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Automation Manager – Fittings

Automation Manager now allows you to control fittings via API. The example below shows some of themethods available.
ExampleSub ClearFittings(jobfile As AutomationManagerJobFile)
Dim AMFitting As AutomationManagerFitting
For Each AMFitting In jobfile.Fittings
AMFitting.ClearAllGeometryAssignments
AMFitting.DeleteFromDB
Next AMFitting
End Sub
Sub AddFitting(jobfile As AutomationManagerJobFile)Dim fitting As AutomationManagerFitting
Set fitting = jobfile.AddFitting("Handle", "Door_Handle_LH.ard")
Dim geos As Paths
Set geos = App.ActiveDrawing.CreatePathCollection' Get all geometries in a layer and assign a fitting to it.
Dim lyr As Layer
Set lyr = FindLayerWithGivenName("Handle")
Dim geo As PathFor Each geo In lyr.Geometries
geos.Add geo
Next geo
fitting.AssignDatumGeometries geos
fitting.SaveToDatabase
End Sub
Function FindLayerWithGivenName(Name As String) As Layer
Dim lyr As Layer
Set lyr = Nothing
For Each lyr In App.ActiveDrawing.Layers
If (lyr.Name = Name) Then
Set FindLayerWithGivenName = lyr
Exit Function
End IfNext lyr
End Function
Sub AutomationManagerAfterOpenFile(jobfile As AutomationManagerJobFile)'Delete all fittings and assign new ones
ClearFittings jobfile
AddFitting jobfile
End Subwww.alphacam.com

27 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Automation Manager – New event called after part alignment

Use the following event to add an additional rotation or modify position to the part alignment set in
Automation Manager.
This event can be used in special cases such as when trying to force an edge to be in a pre-defined position
or flipping the part for back face machining.
Sub AutomationManagerAfterPartAlignment(JobFile As AutomationManagerJobFile, Setup As
AutomationManagerSetup)
Event called after a part is aligned by Automation Manager.
ExampleSub AutomationManagerAfterPartAlignment(JobFile As AutomationManagerJobFile, Setup
As AutomationManagerSetup)' Feature Extraction reference should be added to the project' Flip part around Y for back machining if Custom Field 1 is set to "Flip Part"
If JobFile.CustomField1 = "Flip Part" Then
Dim SF As SolidFeatures
Set SF = App.ActiveDrawing.SolidInterface
If (SF.Bodies.Count >= 1) Then
Dim sBody As SolidBody
Set sBody = SF.Bodies(1)Dim CenterX, CenterY, CenterZ As Double
CenterZ = (sBody.MaxZ - sBody.MinZ) / 2
CenterX = (sBody.MaxX - sBody.MinX) / 2
CenterY = (sBody.MaxY - sBody.MinY) / 2' Rotate solid around its Y axis
sBody.RotateG 180, CenterX, sBody.MinY, CenterZ, CenterX, sBody.MaxY,
CenterZ
End IfEnd IfEnd Subwww.alphacam.com

28 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Automation Manager – Subcomponents

Automation Manager now allows greater control of subcomponents via the API. The example below showssome of the methods available.
ExampleSub AddSubcomponentToJobFile(jf As AutomationManagerJobFile, Path As String)'Add subcomponent to jobfile and math the material to the parent jobfile
Dim subComponent As AutomationManagerJobFile
Set subComponent = jf.AddSubcomponent(Path)
subComponent.FkMaterialID = jf.FkMaterialID
subComponent.SaveToDatabasejf.SaveToDatabase
End Sub
Sub AddSubcomponentFolderToJobFile(jf As AutomationManagerJobFile, Path As String)'Add subcomponent folder and match the material of all subcomponents within
it to the parent jobfile
Dim subCompFolder As AutomationManagerJobFileComponentFolder
Set subCompFolder = jf.AddSubcomponentFolder(Path)
subCompFolder.SaveToDatabase
subCompFolder.RefreshFolder
subCompFolder.SaveToDatabase
Dim subcomps As AutomationManagerJobFiles
Set subcomps = subCompFolder.jobfiles
Dim Count As Integer
Count = subcomps.CountDim i As Integer
Dim subcomp As AutomationManagerJobFile
For i = 1 To CountSet subcomp = subcomps.Item(i)subcomp.FkMaterialID = jf.FkMaterialID
subcomp.SaveToDatabase
Next ijf.SaveToDatabase
End Subwww.alphacam.com

29 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Sub AutomationManagerBeforeProcessingStart(job As AutomationManagerJob, config As
AutomationManagerConfigurationSetting, customer As AutomationManagerCustomer)' Immediately before processing, add The specified subcomponent andsubcomponent folder to every jobfile in the job
job.PopulateJobDetails
Dim jobfiles As AutomationManagerJobFiles
Set jobfiles = job.jobfiles
Dim Count As Integer
Count = jobfiles.CountDim i As Integer
Dim jobfile As AutomationManagerJobFile
For i = 1 To CountSet jobfile = jobfiles.Item(i)AddSubcomponentToJobFile jobfile, "[PATH_TO_SUBCOMPONENT]"
AddSubcomponentFolderToJobFile jobfile, "[PATH_TO_SUBCOMPONENT_FOLDER]"
Next ijob.SaveToDatabasejob.PopulateJobDetails
End Subwww.alphacam.com

30 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Cut Surface/Solids With Disk – Set Boundaries

Use the following method to define boundaries when creating a Cut Surface/Solids With Disk via API. Thiscan be used with the Roughing, Finishing and Side Cut Finishing strategies.
WheelCutSurfaceData.SetBoundaries (Paths As Paths)
Associate paths as boundaries to cut with disk operation.
ExampleSub CutSolidSurfaceWithDiskBoundaries()'Before running this code make sure a suitable work plane is active.
' Select a disk tool
App.SelectTool "Disk - 150mm.ast"' Create MillData
Dim md As MillData
Set md = App.CreateMillData' Set Disk cutting parameters
Dim wcsd As WheelCutSurfaceData
Set wcsd = md.WheelCutSurfaceData
wcsd.Method = acamWheelSurfaceMethodRoughing
wcsd.UpperZ = 0
wcsd.LowerZ = -400
wcsd.MaximumDepth = 300
wcsd.CutDirection = acamWheelCutDirectionMinusToPlus
wcsd.ChordTolerance = 0.01
wcsd.Step = 80
wcsd.DepthOfCut = 160
wcsd.CleanerCutFeed = 2000
wcsd.CuttingOrder = acamWheelCutSurfaceOrderDepth' Select Geometry Boundaries
Dim Boundary As Path
Set Boundary = App.ActiveDrawing.UserSelectOneGeo("Select Geometry to be
used as a boundary")' Create a collection of geometries (Multiple geometries can be used)
Dim bndrs As Paths
Set bndrs = ActiveDrawing.CreatePathCollection
bndrs.Add Boundary' Associate boundaries to operation
wcsd.SetBoundaries bndrs' Select solid to machine
ActiveDrawing.SolidParts(1).Selected = True
' Create toolpath
Dim newtps As Paths
Set newtps = wcsd.CutSolidsWithDisk
End Subwww.alphacam.com

31 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Lines – Set/Get Dash and Gap Lengths

Use the following method to set or get dashed lines dash and gap lengths.
Path.SetDashAndGapLengths(DashLength As Double, GapLength As Double)
Set the lengths of the dash and the gap when the line type is not continuous.
Path.GetDashAndGapLengths(DashLength As Double, GapLength As Double)
Get the lengths of the dash and the gap when the line type is not continuous.
ExampleSub LinesWithDashedGap()
Dim p As PathDim drw As Drawing
Set drw = App.ActiveDrawing' Create First Dashed line
Set p = drw.Create2DLine(0, 0, 100, 0)
p.LineType = acamLineDASH
p.SetDashAndGapLengths 5, 0.5' Create Second Dashed line
Set p = drw.Create2DLine(0, 5, 100, 5)
p.LineType = acamLineDASH
p.SetDashAndGapLengths 25, 5
App.ActiveDrawing.RedrawShadedViews' Report dash and gap length for all dashed geometries in the active drawing
For Each p In drw.Geometries
Dim dash As Double
Dim gap As Double' Check if Geometry is dashed
If (p.LineType = acamLineDASH) Then
' Get Dash length and gap values
p.GetDashAndGapLengths dash, gap
Debug.Print "Line " & p.Name & " Dash = " & dash & " Gap = " & gap
End IfNext pEnd Subwww.alphacam.com

32 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Move material

Several methods have been added to the WorkPiece and MillData objects. The example below shows thesemethods being used to prepare a WorkPiece/material for movement as well as how to create a Move
Material Operation using global and relative coordinates.
An additional example shows how to find the workpiece associated with a move material operation.
ExampleSub MoveMaterial()
Dim Drw As Drawing
Set Drw = App.ActiveDrawing' Get first material/workpiece in the drawing - Must be an Additional Material
Dim MaterialWorkPiece As WorkPiece
Set MaterialWorkPiece = Drw.Workpieces(1)' Note: Only additional material can move' Check if the workpiece is the main material
If MaterialWorkPiece.GeometryPath.Attribute("LicomUKDMBStockType") = "1" Then
MsgBox "You cannot move the main material. Please, select a material defined
as Additional Material"
Exit SubEnd If' Set Material Reference point for movement (relative to bottom-left corner)
MaterialWorkPiece.SetReferencePoint 0, 0, 0
' Set Material Movement feed rate
MaterialWorkPiece.MoveFeedRate = 300' Create Move Material operation
Dim MD As MillData
Set MD = App.CreateMillData' Select Material
MaterialWorkPiece.GeometryPath.Selected = True
' Use Global coordinates to move the material to (X10,Y10,Z0)
MD.SetTargetPosition 10, 10, 0
MD.MoveMaterial' Select Material after creating operation - so we can do another move
MaterialWorkPiece.GeometryPath.Selected = True
' Using now a relative position - lift the material 75 units UP
MD.SetTargetRelativePosition 0, 0, 75
MD.MoveMaterial
Drw.RedrawShadedViews
End Subwww.alphacam.com

33 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Sub FindAssociatedMoveMaterial()
Dim Drw As Drawing
Set Drw = App.ActiveDrawing' Get toolpath from first SubOperation (should be a "Move Material" operation
Dim SubOp As SubOperation
Set SubOp = App.ActiveDrawing.Operations(1).SubOperations(1)' Get MillData - so we can check if it is a Move Material operation
Dim MillData As MillData
Set MillData = SubOp.GetMillData
If (MillData.ProcessType2 <> 17) Then
MsgBox "Please, select a Move Material SubOperation."
Exit SubEnd If' Get first toolpath from Move Material SubOp (it will only have 1 toolpath)
Dim ToolPath As Path
Set ToolPath = SubOp.ToolPaths(1)' Get Material ID from toolpath
Dim MaterialID As Long
MaterialID = ToolPath.Attribute("LicomUKDJPMaterialNumber")' Now find the workpiece with the same ID
Dim WP As WorkPiece
For Each WP In Drw.Workpieces
If WP.Attribute("LicomUKDJPMaterialNumber") = MaterialID Then
If Not (WP.GeometryPath Is Nothing) Then
MsgBox "Material associated to this SubOperation is: " +WP.GeometryPath.Name ' Geometry material
ElseIf Not (WP.GeometrySolidPart Is Nothing) Then
MsgBox "Material associated to this SubOperation is: " +WP.GeometrySolidPart.Name ' Solid Material
End IfEnd IfNext WPEnd Subwww.alphacam.com

34 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Rough/Finish - Solid Faces

Several methods have been added to the MillData objects. The example below shows these methods being
used to create a Rough/Finish operation using Solid Faces with Tool Side method.
ExamplePublic Sub RoughFinishSolidFaces()
Dim SF As SolidFeatures
Set SF = App.ActiveDrawing.SolidInterface' Select Tool
App.SelectTool App.LicomdatPath & "licomdat\mtools.alp\flat - 10mm.amt"' Use SolidSelector for picking faces to machine (Requires Alphacam Feature
Extraction references)
Dim Sel As SolidSelector
Set Sel = SF.Selector
Sel.What = FeatureSelectFace
Sel.SetApp.ActiveDrawing.UserSelectMultiAddinObjects2 "Select faces for rough / finish",
0, "Feature"
Sel.HideFaceSelector' Create MillData
Dim MD As MillData
Set MD = App.CreateMillData' Select Machine solid faces side option
MD.Sides = acamSidesSOLID_FACES
MD.SafeRapidLevel = 5
MD.RapidDownTo = 1
MD.AutoZMaxDepthOfCut = 5' Define parameters specific to machines solid faces
MD.SolidFaceCutDirection = acamCutDirectionBiDirectional
MD.SolidFaceTrackBottomZLevel = True
MD.SolidFaceZTolerance = 0.025
MD.SolidFaceGlobalLinearNC = False
MD.SlopeMaxError = 0.0125
MD.SolidFacePerpToLowerEdge = True
MD.SolidFaceStartPointInside = acamStartPointMiddleOfLongestEdge
MD.SolidFaceStartPointOutside = acamStartPointMiddleOfLongestEdge' Create Operation
MD.RoughFinish
End Sub

Save Solid Bodies to Files

Use the following function to run the Save Solid Bodies to Files command via API.
www.alphacam.com

35 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

In this function, you can define which solid bodies should be saved to its own files and whether they shouldbe aligned. Destination Folder to save files should also be provided.
SaveSolids(Bodies As SolidBodies, AutoAlign As Boolean, DestinationFolder As String) As
FileInformationCollection
Run Save Solid Bodies To Files using the given collection of Solid Bodies.
ExamplePublic Sub test()
Dim ai As New AcamAddInsInterface.AddInsInterface
Dim aa As AcamAddIns.AddIns
Dim ss As SaveSolidBodies
Dim sf As SolidFeatures
Dim f As FileInformationCollection
Dim i As Integer' Initialise Solid Interface
Set sf = ActiveDrawing.SolidInterface' Initialise Save Solid Bodies Addin
Set aa = ai.GetAddInsInterface(App)Set ss = aa.GetSaveSolidBodiesAddInDim OutputLocation As String
OutputLocation = "C:\Temp\SaveSolidBodies\output"' Run Save Solid Bodies Addin
Set f = ss.SaveSolids(sf.Bodies, True, OutputLocation)
MsgBox f.Count & " files have been saved to " & OutputLocation

End Subwww.alphacam.com

36 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Skew

Use the following methods to apply the Skew command programmatically.
Path.Skew(Corner As AcamSkewCorner, TargetX As Double, TargetY As Double, MinX As Double, MinYAs Double, MaxX As Double, MaxY As Double)
Perform a skew operation on a path with respect to a box area, by changing one of the box's corners to thetarget point given.
Paths.Skew(Corner As AcamSkewCorner, TargetX As Double, TargetY As Double)
Skew all paths with respect to the collection's bounding box, by changing one of the box's corners to thetarget point given.
Drawing.SkewSelectedGeos(Corner As AcamSkewCorner, TargetX As Double, TargetY As Double)
Skew all selected geometries with respect to the bounding box that contains them all, by changing one of
the box's corners to the target point given.
AcamSkewCorner represents one of the skew commands bounding box corners. Values are:• acamSkewCornerTopRight•

acamSkewCornerTopLeft•

acamSkewCornerBottomRight•

acamSkewCornerBottomLeft

www.alphacam.com

37 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

ExampleSub SkewTest()
Dim LoX As Double
Dim LoY As Double
Dim HiX As Double
Dim HiY As Double
Dim Z1 As Double
Dim Z2 As Double' Skew the first geometry in the drawing
Dim p1 As Path
Set p1 = App.ActiveDrawing.Geometries.Item(1)p1.GetFeedExtentXYG LoX, LoY, HiX, HiY
p1.Skew acamSkewCornerTopRight, HiX + 35, HiY + 35, LoX, LoY, HiX, HiY
ActiveDrawing.Redraw' Skew All geometries in a paths collection - BottomRight cornerDim geos2 As Paths
Set geos2 = App.ActiveDrawing.Geometries
geos2.GetExtentXYG LoX, LoY, HiX, HiY
geos2.Skew acamSkewCornerBottomRight, HiX + 50, LoY
ActiveDrawing.Redraw' Skew selected geos in a drawing
ActiveDrawing.UserSelectMultiGeos "Select Geometries to Skew", 0 ' Thismethod will keep geometries selected
ActiveDrawing.SkewSelectedGeos acamSkewCornerBottomLeft, 0, 0 ' Skew bottomleft to 0,0ActiveDrawing.Redraw
End Subwww.alphacam.com

38 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Skew – Slant Geometries

Use the following method to apply a slant angle to the selected geometries.
Drawing.SlantSelectedGeos (AngleDegrees As Double)
Skew all selected geometries by rotating the vertical sides of the selection's bounding box clockwise,
according to the slant-angle given.
ExampleSub SlantGeo()' Select a geometry to apply slant angle
Dim p1 As Path
Set p1 = ActiveDrawing.UserSelectOneGeo("Select a geometry to Slant")
p1.Selected = True
p1.Redraw
Dim SlantAngle As Single' Ask user to specify Slant Angle
If (App.Frame.InputFloatDialog("Slant Angle", "Slant Angle:",acamFloatNON_ZERO, SlantAngle)) Then
ActiveDrawing.SlantSelectedGeos SlantAngle ' Apply Slant using the input
Angle
End Ifp1.Selected = False
p1.Redraw
End Subwww.alphacam.com

39 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Stone – Water Jet Operations

Use the following functions and methods to create a water jet operations.
See examples for more details about jet new Process Types.
MillData.JetMCProfiling() As Paths
Create a Jet Profiling operation.
MillData.JetMCClearArea() As Paths
Create a Jet Clear Area operation.
MillData.JetMCCutHoles () As Paths
Create a Jet Cut Holes operation.
MillData.JetMCProgrammingLevel As Double
Define Jet programing level.
MillData.JetMCSimulationLength As Double
Define Jet length used during simulation
MillData.JetMCStandOffDistance As Double
Define Jet Stand-Off Distance.
ExampleSub TestJetMCProfiling()
Dim PathToCut As Path
Set PathToCut = App.ActiveDrawing.UserSelectOneGeo("Select a Geometry to apply
water jet operation.")PathToCut.Selected = True
Dim md As MillData
Set md = App.CreateMillData' Set Operation Typemd.ProcessType2 = acamProcessJET_PROFILING' Set Jet specific parameters
md.JetMCProgrammingLevel = 5
md.JetMCSimulationLength = 10
md.JetMCStandOffDistance = 5' Set Cutting parametersmd.McComp = acamCompTOOLCEN
md.XYCorners = acamCornersROUND
md.StockXY = 0
md.SafeRapidLevel = 44
md.RapidDownTo = 22
Dim tps As Paths
Set tps = md.JetMCProfiling
End Subwww.alphacam.com

40 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Sub TestJetMCCutArea()
Dim PathToCut As Path
Set PathToCut = App.ActiveDrawing.UserSelectOneGeo("Select a Geometry to apply
water jet operation.")PathToCut.Selected = True
Dim md As MillData
Set md = App.CreateMillData' Select clear are cut patern
md.ProcessType2 = acamProcessJET_CLEAR_AREA_CONTOUR'md.ProcessType2 = acamProcessJET_CLEAR_AREA_LINEAR'md.ProcessType2 = acamProcessJET_CLEAR_AREA_SPIRAL' Set Jet specific parameters
md.JetMCProgrammingLevel = 5
md.JetMCSimulationLength = 10
md.JetMCStandOffDistance = 5' Set Cutting parametersmd.McComp = acamCompTOOLCEN
md.XYCorners = acamCornersROUND
md.StockXY = 0
md.WidthOfCut = 0.5
md.SafeRapidLevel = 44
md.RapidDownTo = 22
Dim tps As Paths
Set tps = md.JetMCClearArea
End Subwww.alphacam.com

41 of 42

: 2020.1 新機能紹介

ALPHACAM 2020.1

Sub TestJetMCCutCutHoles()Dim PathToCut As Path
Set PathToCut = App.ActiveDrawing.UserSelectOneGeo("Select a Geometry to apply
water jet operation.")PathToCut.Selected = True
Dim md As MillData
Set md = App.CreateMillData' Select clear are cut patern
md.ProcessType2 = acamProcessJET_CUTHOLES_PIERCE'md.ProcessType2 = acamProcessJET_CUTHOLES_CUT_HOLE'md.ProcessType2 = acamProcessJET_CUTHOLES_SPIRAL' Set Jet specific parameters
md.JetMCProgrammingLevel = 5
md.JetMCSimulationLength = 10
md.JetMCStandOffDistance = 5' Set Cutting parametersmd.McComp = acamCompTOOLCEN
md.XYCorners = acamCornersROUND
md.StockXY = 0
md.WidthOfCut = 0.5
md.SafeRapidLevel = 44
md.RapidDownTo = 22
Dim tps As Paths
Set tps = md.JetMCCutHolesEnd Subwww.alphacam.com

42 of 42