2017 R1

新機能紹介

Alphacam 2017 R1 の新しい機能を紹介します: 2017 R1 新機能紹介

2017 R1

目次
目次..................................................................................................................................................................................................................... 2
重要事項 ............................................................................................................................................................................................................. 4
対応 OS .......................................................................................................................................................................................................... 4
ライセンス要件 .............................................................................................................................................................................................. 4
Visual Basic 7.0 .............................................................................................................................................................................................. 4
インストール ...................................................................................................................................................................................................... 4
Alphacam 2017 R1 のインストール ............................................................................................................................................................... 42016 R2 のリボンバー設定読み込み .............................................................................................................................................................. 4
ライセンス .......................................................................................................................................................................................................... 5
CLS ネットワークライセンスプロファイル .................................................................................................................................................. 5
ライセンスマネージャダイアログ ................................................................................................................................................................. 5
サポートツール................................................................................................................................................................................................... 5
インターフェース ............................................................................................................................................................................................... 6
環境設定 – 一般設定ダイアログなど ............................................................................................................................................................. 6
パラメトリックスケッチャ – 作業空間としてパネルを作成 ......................................................................................................................... 7
作業平面ページ – 作業平面プロパティの簡易編集コマンド ......................................................................................................................... 7
工程ページ – クランプ/フィクスチャ移動の名前変更 ................................................................................................................................... 8
図面添付ノート – 新オプション – 図面と同時に開く .................................................................................................................................... 8
面積見積もり – ネスト済みシート – 穴あけをスクラップ計算に加算 .......................................................................................................... 8
加工..................................................................................................................................................................................................................... 9円筒面沿い走査線 – 切削の幅の指定方法の改善 ........................................................................................................................................... 9
加工ダイアログ – 3D 加工コマンド ............................................................................................................................................................... 9円筒面沿い走査線 – ダイナミックプレビュー ............................................................................................................................................. 10
スプライン/ポリライン沿い加工ダイアログの更新 ..................................................................................................................................... 10
ソーカット – 干渉の検出と回避 .................................................................................................................................................................. 11
ドリル/タップ

自動 Z

加工深さの詳細な指定 ........................................................................................................................................ 11

環境設定 -一般設定 – 加工 – 切削ピッチ

切り残しの輪郭ポケット .......................................................................................................... 12

ソーカット – 加工編集－ノコギリ工程延長 ................................................................................................................................................ 12
CAD データ入力 – ソリッドモデルアセンブリ – ファイルに分割して保存 ................................................................................................ 13
CAD データ入力 – Postscript, PDF , AI ファイルの単位指定 ...................................................................................................................... 14
レイヤ – デフォルト設定の保存と取得 ........................................................................................................................................................ 14

Vero Software Limited

www.alphacam.com

2 of 38

: 2017 R1 新機能紹介

2017 R1

ソリッドワークス – アセンブリファイルのサポート .................................................................................................................................. 14
ソリッドエッジ – CADlinks を使用してのアセンブリのサポート ............................................................................................................... 15
旋盤................................................................................................................................................................................................................... 15
ねじ切り – 安全距離の指定 .......................................................................................................................................................................... 15
旋盤 – ミーリング素材設定 – 自動アップデート素材 .................................................................................................................................. 16
ルーター ........................................................................................................................................................................................................... 16
輪郭加工 – 終点予備切りオプションの追加 ................................................................................................................................................ 16
シミュレーション ............................................................................................................................................................................................. 17
5 軸パスの転送の高速化 .............................................................................................................................................................................. 17
シミュレーション – 機械設定 – 主軸側に AB 軸(X 軸回り＋Y 軸回り)がある機械のサポート ................................................................... 17
プログラムストップ – シミュレーションの一時停止設定 ........................................................................................................................... 18
シミュレーション – クランプの移動速度の指定 ......................................................................................................................................... 19
CAD データ入力 対応バージョン................................................................................................................................................................... 20
メンテナンスレポート ...................................................................................................................................................................................... 21
Appendix A - Alphacam 2017 R1 での API 改造 ............................................................................................................................................... 26
Application – Get Alphacam File Name with specified initial directory ......................................................................................................... 26
Auto Z Drilling Of Feature Found Holes - Advanced Depth Settings ........................................................................................................... 27
BeforeSaveSolidPart Event .......................................................................................................................................................................... 28
CadInputSettings – Import DXF / DWG Model Space only .......................................................................................................................... 28
Drawing – SaveSolidParts ........................................................................................................................................................................... 29
Image Preview – Save preview image with no margin................................................................................................................................. 30
Nesting - Suppress Message Dialogs .......................................................................................................................................................... 30
Path - Get Paths Inside or Intersecting Other Path in Collection ................................................................................................................. 31
SubOperation – Get Partial Geometries ...................................................................................................................................................... 31
Toolpaths - Get toolpath time and feed distance ......................................................................................................................................... 32
Wire - Get/Set Sub Operation WireData ...................................................................................................................................................... 32
WheelCutData – New operation parameters ............................................................................................................................................... 33
Appendix B - 64-bit VBA Macros ...................................................................................................................................................................... 35
Introduction .................................................................................................................................................................................................. 35
Fixing Declare Statements ........................................................................................................................................................................... 35
Fixing functions with pointer types ............................................................................................................................................................... 36
VBA 6 Backwards compatibility .................................................................................................................................................................... 36
Testing Macros ............................................................................................................................................................................................. 37
Active X Components ................................................................................................................................................................................... 37
Appendix C - C# Add-Ins .................................................................................................................................................................................. 38

Vero Software Limited

www.alphacam.com

3 of 38

: 2017 R1 新機能紹介

2017 R1

重要事項
対応 OS
Alphacam 2017 R1 が対応しているOSを以下に示します。OSは64ビットの必要があります。
Windows 7 ‐ Professional, Enterprise, Ultimate
Windows 8 ‐ Professional, Enterprise
Windows 10 ‐ Professional, Enterprise
詳細な情報はインストールマニュアルまたは http://www.alphacam.com をご覧ください。

ライセンス要件
Alphacam 2017 R1 をご使用になるには、保守終了日が 2016 年 10 月 以降の必要があります。

Visual Basic 7.0
Alphacam の 64 ビット対応のため Microsoft Visual Basic for Applicatons7.0(VBA 7)にアップグレードしました,
VBA7 は 32/64 ビット両方の Alphacam,AlphaEdit に搭載されています.
独自に開発された VBA を 64 ビット Alphacam で動作させるには修正の必要があることがあります． Appendix
B を参照してください．

インストールAlphacam 2017 R1 のインストール
Alphacam 2017 R1 をインストールする際には 32/64 ビットのどちらをインストールするか指定できます．OSは 64 ビットの必要があります。
64 ビット Alpahcam は大容量のメモリーを使用できる利点があります．

2016 R2 のリボンバー設定読み込み
Alphacam 2017 R1 は 2016 R2 のリボンバー設定を自動的に読み込みます。
リボンバー設定の読み込み／保存のデフォルトフォルダは以下になっています。
….\LICOMDIR\Configurations.

Vero Software Limited

www.alphacam.com

4 of 38

: 2017 R1 新機能紹介

2017 R1

ライセンス
CLS ネットワークライセンスプロファイル
ネットワークライセンスプロフィルを使用すると、使用するシステム、モジュール設定を保存することができ、以前に保存した設定を簡単に復元することができます。


全ネットワークユーザーは自分用のプロファイルを作成できます。また保存したプロファイルをコピーして、他のユーザーが同じプロファイルを利用することもできます。

ライセンスプロファイルはネットワークライセンスの設定画面で使用することができます。

ライセンスマネージャダイアログ
ネットワークライセンスの設定 ボタンが追加されました。
スタンドアロンライセンスのときは使用できません。

ネットワークライセンスの設定画面にはプロファイルの使用を選択できるチェックボックスが追加されました

サポートツール
ファイルタブのヘルプにチームビュワーの起動コマンドが追加されました。Alphacam からチームビュワーを起動して、ただちに弊社の技術スタッフのサポートを受けられます。インターネット接続が必要です。セキュリティの厳しいネットワークでは接続できないことがあります。

Vero Software Limited

www.alphacam.com

5 of 38

: 2017 R1 新機能紹介

2017 R1

インターフェース
環境設定 – 一般設定ダイアログなど
環境設定 －
環境設定 －

一般設定
フォルダのダイアログが更新され、設定しやすくなりました。
左のタブによって切り替えを行います。

Vero Software Limited

www.alphacam.com

6 of 38

: 2017 R1 新機能紹介

2017 R1

パラメトリックスケッチャ – 作業空間としてパネルを作成
パネル作成のダイアログに、「作業空間として作成」オプシ
ョンが追加されました。

注記: 作業空間としてパネルを作成した場合、既存の作業空間は削除されます。
プロジェクトマネージャの挿入ページでパラメトリックスケ
ッチャを挿入する場合は、既存の作業空間が優先され、パラメトリックスケッチャの作業空間は作成されません。。

作業平面ページ – 作業平面プロパティの簡易編集コマンド
プロジェクトマネージャの作業平面のページに「作業平面のプロパティ」コマンドが追加されました。
作業平面の名前とオフセットが一覧形式で表示され、この画面で編集することができます。

Vero Software Limited

www.alphacam.com

7 of 38

: 2017 R1 新機能紹介

2017 R1

工程ページ – クランプ/フィクスチャ移動の名前変更
クイックエディット画面で、クランプ／フィクスチャ移動の
工程名を変更することができます。

図面添付ノート – 新オプション – 図面と同時に開く
新オプション – 図面と同時に開く
このオプションをチェックすると、開いたファイルが図面添付ノートを含んでいる場合に、図面添付ノート画面が表示されます。
注記: 図面添付ノートは無償アドインなので、アドイン画面で使用する／しないを切り替えることができます

面積見積もり – ネスト済みシート – 穴あけをスクラップ計算に加算
面積見積もりは、穴あけをスクラップとして計算するようになりました。

Vero Software Limited

www.alphacam.com

8 of 38

: 2017 R1 新機能紹介

2017 R1

加工
円筒面沿い走査線 – 切削の幅の指定方法の改善
切削の幅の角度の指定方法に、より簡単な方法が追加されました。
切削の幅の指定の横の ボタンをクリックすると、新しい設
定ダイアログが表示されます。
この画面では円周でのピッチ長さを指定し、Alphacam が自動的に角度に変換します。
この画面では有効直径を取得するための ボタンが用意されています。このボタンをクリックし、円周上と見なす点をクリックすると、自動的に有効直径が入力されます。
この画面で OK をクリックすると、元の画面の角度には計算結果が入ります。

加工ダイアログ – 3D 加工コマンド
加工ダイアログは今後も継続的に改善されていきますが、その一段階として 3D 加工コマンドのダイアログが改善されました。
加工の軸数と加工方法をドロップダウンのリストから選択します。
選択された加工方法に応じてアニメーションが連動します。
以下の加工コマンドが 3D 加工コマンドで使用できます。








交差線沿い
カスプ一定
円筒面沿い走査線
円筒面回り仕上げ
ドライブカーブ.
等高線荒加工そのほかの加工コマンドは 3D サーフェス加工、3D
ソリッド加工コマンドから作成してください。

3D サーフェス加工、3D ソリッド加工は将来的に 3D 加工コマ
ンドに統合されます。

Vero Software Limited

www.alphacam.com

9 of 38

: 2017 R1 新機能紹介

2017 R1

円筒面沿い走査線 – ダイナミックプレビュー
円筒面沿い走査線のダイアログで、加工範囲を設定する際に、数値設定に連動して加工範囲のプレビューが表示されます。
数値範囲は製品の回りに半透明で表示されます。
注記: ダイナミックプレビューはデフォルトで表示する設定ですが、表示させないこともできます
設定変更箇所
ホーム｜設定｜環境設定｜一般設定 加工タブ
「加工範囲のダイナミックプレビューを使用」

スプライン/ポリライン沿い加工ダイアログの更新
スプライン/ポリライン沿い加工のダイアログが更新され、タブ切り替え方式になり、イメージやツールチップが追加されました。
注記: 加工コマンドから工程を作成するときは、ダイアログ
は２回に分かれて表示されます。
工程を編集するときは全ダイアログのページがタブ切り替
えで表示されます。

Vero Software Limited

www.alphacam.com

10 of 38

: 2017 R1 新機能紹介

2017 R1

ソーカット – 干渉の検出と回避
ソーカットを行う製品が接近して配置してある場合、ある製品の加工で隣の製品を切り込むことがあります。新
しいソーカットコマンドは工程作成に選択した形状に対する干渉を検出し、隣の製品を切り込む場合は工具経路をトリムし、干渉をなくします。

製品形状

Alphacam2017R1

Alphacam2016R2

ドリル/タップ

自動 Z

加工深さの詳細な指定

自動 Z を使用したドリル/タップコマンドに詳細な加工深さ指定ができるようになりました。
特にフィーチャー抽出された止まり穴に対し、工具の先端角
度と穴の角度が異なる場合に、「自動」を選択すると穴底の形を壊さない方を選択します。
この設定は次のサイクルで使用できます:




ドリル
ペッキング
ボーリング

Vero Software Limited

www.alphacam.com

11 of 38

: 2017 R1 新機能紹介

2017 R1

環境設定 -一般設定 – 加工 – 切削ピッチ

切り残しの輪郭ポケット

切り残しの輪郭ポケットの切削幅のデフォルト%値が追加されました。
ポケット加工での「切り残し」オプションを使用したときのデフォルトの切削幅としてこの設定が使用されます。
注記: この設定のデフォルトは 50 です

ソーカット – 加工編集－ノコギリ工程延長
ノコギリ工程を手動で編集するコマンドが加工｜加工編集｜
ノコギリ工程延長 が追加されました
距離や境界まで延長させることや、進行方向を反転させることができます。
注記: 工程編集を行うと手動での編集は全て破棄され、オリジナルの設定に従って再計算をします。

Vero Software Limited

www.alphacam.com

12 of 38

: 2017 R1 新機能紹介

2017 R1

２Ｄ加工 – 荒加工サイクル
インストール後にアドイン設定が必要になります。
【インストール】DVD\ExtraAdd‐Ins\荒加工サイクル\setup.exe【アドイン設定】アドイン ＞ アドイン＞ 無償オプション ＞☑荒加工サイクル【輪郭追込み加工】
複数形状に対しての一括輪郭追込み加工【開ポケット加工】
開形状に対する境界からの進入スタイルでのポケット加工【輪郭荒加工】
閉形状に対する外側境界からの進入スタイルでのポケット加工【隅加工】
指定半径以下のコーナ部を自動認識して複数回の小径工具によるコーナ追込み加工

CAD データ入力 – ソリッドモデルアセンブリ – ファイルに分割して保存
CAD データ入力には、新しく「アセンブリ」タブが追加されました。このタブでは読み込んだアセンブリを指定フォルダに個別にファイル保存する設定や保存ファイル名の指定方法の設定ができます。

Vero Software Limited

www.alphacam.com

13 of 38

: 2017 R1 新機能紹介

2017 R1

CAD データ入力 – Postscript, PDF , AI ファイルの単位指定
Postscript, AI ,PDF ファイルを読み込むとき、単位の指定ができるようになりました。これにより読み込み後のスケーリン
グ操作が不要になります。

レイヤ – デフォルト設定の保存と取得
レイヤの追加、編集ダイアログにはデフォルトの設定と取得ボタンが追加されました。
デフォルトとして扱われる項目は、色、線種、線幅、有効状
態、表示状態、ロック状態です。

注記: デフォルトの設定と保存は素材、機械設定レイヤには使用されません。

ソリッドワークス – アセンブリファイルのサポート
これまでのバージョンの Alphacam はソリッドワークスのアセンブリからエクスポートする CadLink アドインが必要でした。
2017R1 バージョンの Alphacam はソリッドワークスのアセンブリを直接読み込むことができます。
アセンブリから参照されるサブアセンブリやパートファイルにはアクセスできることが前提です。
注記: ソリッドワークスアセンブリローダーは CADLink が使える場合はそれを使います。CADLink が使えない場合に直接読み込みを行います。

Vero Software Limited

www.alphacam.com

14 of 38

: 2017 R1 新機能紹介

2017 R1

ソリッドエッジ – CADlinks を使用してのアセンブリのサポート
ソリッドエッジアセンブリは CADLinks アドインを利用してインポートできるように改善しました。
ソリッドエッジと Alphacam が同じ PC にインストールされている場合は、CADLinks アドインをインストールし、
CADlinks ボタンにより Alphacam に直接アセンブリをエクスポートできます。
ソリッドエッジが Alphacam と別の PC にインストールされている場合も CADLinks アドインを使用し、Alphacamが読み込めるファイルを生成します。ファイルは.asm ファイルと同じフォルダに生成されるので、Alphacam がインストールされている PC にコピーして読み込ませます。

旋盤
ねじ切り – 安全距離の指定
パーツ上の早送り距離の設定が可能になりました。
この設定により各ねじ切り切削を接続する早送りの、パーツからの距離を指定できるようになりました。

Vero Software Limited

www.alphacam.com

15 of 38

: 2017 R1 新機能紹介

2017 R1

旋盤 – ミーリング素材設定 – 自動アップデート素材
ミーリング素材設定に自動アップデート素材の指定ができるようになりました。
この指定がされた素材は、３D 等高線荒加工コマンドで前工程までの加工を考慮します。

ルーター
輪郭加工 – 終点予備切りオプションの追加
終点予備切りオプションが追加されました（開形状、または
一部オプション）。
このオプションは先に加工終点側を指定された距離だけ切削方向とは反対の方向に加工します。
加工終点を工具が通過する際に、製品の割れなどが発生した場合に有効です。
注記: 閉じた形状には作用しません。

Vero Software Limited

www.alphacam.com

16 of 38

: 2017 R1 新機能紹介

2017 R1

シミュレーション
5 軸パスの転送の高速化
Alphacam から外部シミュレータに 5 軸パスを転送する速度が向上しました。

シミュレーション – 機械設定 – 主軸側に AB 軸(X 軸回り＋Y 軸回り)がある機械のサポート
シミュレーションで XY 軸回りの回転がヘッド側、テーブル側でサポートされました。

Vero Software Limited

www.alphacam.com

17 of 38

: 2017 R1 新機能紹介

2017 R1

プログラムストップ – シミュレーションの一時停止設定
プログラムストップでシミュレーションを一時停止にする設定が追加されました。
外部シミュレータでは、ツールバーのドロップダウンリストに設定があります。

Vero Software Limited

www.alphacam.com

18 of 38

: 2017 R1 新機能紹介

2017 R1

シミュレーション – クランプの移動速度の指定
シェーディングシミュレーションで、クランプの移動速度は
ポストプロセッサで定義された早送り速度をデフォルトとして使用しますが、クランプ定義画面で指定できるようになりました。

Vero Software Limited

www.alphacam.com

19 of 38

: 2017 R1 新機能紹介
CAD データ入力

2017 R1

対応バージョン

E = エッセンシャル

S = スタンダード

A = アドバンスド

U = アルティメイト

CAD データ形式

ルータ

ストーン

旋盤

ミル

ワイヤ

レーザー

DXF/DWG (AutoCAD 2015)

ESAU

ESAU

ESAU

ESAU

SA

AU

IGES (バージョンなし)

ESAU

ESAU

ESAU

ESAU

SA

AU

Rhino 5.0

SAU

SAU

SAU

SAU

SA

AU

STL (バージョンなし)

SAU

SAU

SAU

SAU

SA

AU

SketchUp 2016

SAU

SAU

SAU

SAU

SA

AU

PostScript

ESAU

ESAU

U

ESAU

SA

AU

STEP AP214/AP203 (preferred Schemas)

AU

AU

AU

AU

A

U

Part Modeler (Alphacam と同一バージョン)

AU

AU

AU

AU

A

U

VISI Version 20

AU

AU

AU

AU

A

U

Autodesk Inventor 2017 (current, IPT & IAM files)

AU

AU

AU

AU

A

U

AU

AU

AU

AU

A

U

AU

AU

AU

AU

A

U

SOLIDWORKS 2016 (SLDPRT ファイルのみ)

AU

AU

AU

AU

A

U

Solid Edge ST8 (PAR & PSM ファイル)

AU

AU

AU

AU

A

U

Spaceclaim 2016

AU

AU

AU

AU

A

U

ACIS R1 – 2017 1.0
Parasolid 9.0 – 29.0.137

保守期間限定(保守契約終了で使用できなくなります)
Adobe PDF

ESAU

ESAU

U

ESAU

SA

AU

Adobe Illustrator

ESAU

ESAU

U

ESAU

SA

AU

有償オプション
Catia V4

AU

AU

AU

AU

A

U

AU

AU

AU

AU

A

U

Creo Parametrics 2.0 (formerly Pro/E Wildfire)

AU

AU

AU

AU

A

U

NX9 (formerly Unigraphics NX)

AU

AU

AU

AU

A

U

CATIA V5 V5R8 – V5R25 and V5‐6R2012 – V5‐6R2015

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

Vero Software Limited

www.alphacam.com

20 of 38

: 2017 R1 新機能紹介

2017 R1

メンテナンスレポート
以下の不具合修正、改善が Alphacam 2017 R1 で行われました
ID

Description

Closing Notes

1234 Reports ‐ Windows 8 / 8.1 / 10 ‐ Reports are failing in multiple ways:
Crashing, white screen, incorrect parts shown, incomplete reports ofsheets.
1419 Splines ‐ Create Spline, Convert Splines to Lines/Arcs ‐ Geometry moves
after saving and re‐opening a file when a work plane is used with Reverse
Current work plane checked and the Undo command is used. Unexpectedbehaviour and Alphacam crashes under certain conditions.
1941 Stone ‐ Cut with Disk ‐ Horizontal ‐ Roughing ‐ Incorrect profile achieved.
1994 Sheet Database ‐ With the Reverse Side Nesting add‐in turned on, there is
no XY prompt when inserting a sheet into the drawing.
2231 Automation Manager ‐ When nesting using sheets of multiple sizes within
any one material, an incomplete nest list is produced.
2488 Operations Manager ‐ Clamp move ‐ Unable to move operations above or
below the clamp move (if present).
2527 Stone ‐ Cut Shape ‐ Dialog box refers to rough finish; not cut shape.
2627 Automation Manager ‐ Material types are not saved when Alphacam is re‐opened after processing.
2634 Automatic Extraction ‐ Improved contour extraction on parts with curved
edges.
2873 Lathe ‐ Solid Simulation ‐ Simulation freezes on specific operation. An error
message is displayed when using dialogs, even when no changes are made.
2875 Machine Configuration ‐ Clamps/Fixtures:
 Edit Clamps/Fixtures ‐ The radial menu is displayed when right‐
clicking, cancelling the command.
 Edit Clamps/Fixtures ‐ clicking a clamp or right‐clicking andselecting Show Clamp in Project Manager does not work forclamps in the drawing.
 Edit Clamps/Fixtures and Find commands are unreliable at finding
clamps in the machine configuration if parts of the tree arecollapsed.
2891 Automation Manager ‐ Layer Mapping Setup ‐ Feature extract layers are
not translated.
2961 Project manager ‐ Edit Lead in/Lead out ‐ If the user presses enter, taborder is set to get default. Change this to Apply.
3023 Simulation ‐ Tools imported from partner software TDM are flat.
3130 Machine ‐ Rough/Finish ‐ Helical ‐ Auto Z ‐ When the depth of cut value isreduced, processing takes longer than expected.
3174 Automation Manager ‐ Nest list ‐ The previous nest list is remembered on
the next individual part job.
3202 Text ‐ Thai characters do not work when using Thai TTFs.
3220 Automation Manager ‐ Files not found when path directs to LICOMDAT or
LICOMDIR folders.

Vero Software Limited

www.alphacam.com

Fixed.

Fixed.

Fixed.
Dialog and cycle enhanced.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Enhancement.
Fixed.
All Fixed.

Fixed.
Fixed by adding an ‘Apply’
button on the Dialog.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.

21 of 38

: 2017 R1 新機能紹介

2017 R1

3255 Save solid bodies ‐ Automatically align each body ‐ Solid parts are alwaysaligned if Align On Import is selected on Feature Configurations.
3269 Machine ‐ Pocketing ‐ Take account of previous machining ‐ If width of cut
is set to over 50%, the cutter pockets everything.
3270 Lathe ‐ Simulation ‐ Program Stop ‐ When program stop is used, it isaffecting simulation.
3366 Drill / Machine Holes ‐ Spiral ‐ Machine holes cannot be edited and crash if
start point is centre.
3393 Machine ‐ Rough or Finish ‐ If a user‐defined tool is used and the number ofcuts is changed, the cut order changes.
3397 Insert Parametric Sketch ‐ Preview not updated when editing a variable.
3411 Machine ‐ Rough or Finish ‐ Links ‐ Looped links do not work with open
elements.
3419 API ‐ Drawing.MoveNestedSheetAndPartsToDrawing does not move nested
sheet bubble geometry to new drawing.
3464 Lathe ‐ Part‐Off ‐ If the value for "Groove Side Clearance" is set to 0, thetoolpath changes. When the operation is edited again however, the field ispopulated with a default value.
3512 Reports addin ‐ COM objects are not being released.
3515 AcamAddins ‐ Common Collections and AcamExtensions.
3516 AcamAddins ‐ Common ExtensionMethods.
3517 AcamAddins ‐ Common ‐ Enums, Helpers, Math, Files into Addins andCommon folders.
3527 Automation Manager ‐ Addins not releasing COM objects.
3604 Define Tool ‐ Advanced 5 Axis ‐ Cylinder and Cylinder+Cone options do notchange the tool definition.
3611 Lathe ‐ Diameter Roughing ‐ Collision detection is failing when a small
depth of cut is used. The final cut added causes the tool to collide with thepart.
3613 Rough or Finish ‐ Take Account of Previous Machining ‐ Toolpaths created
are in inconsistent directions.
3617 Automation Manager ‐ CSV import ‐ Special characters are not displayedcorrectly.

3619 Lathe ‐ Select Tool ‐ If a C‐Y axis tool is selected, the feedrate is now set as
per MIN by default instead of per REV.
3620 Cut Spline/Polyline ‐ Toolpaths created in 2016 R2 produce unexpected
results compared with the same toolpath in previous releases.
3621 API ‐ OpenTempDxfFile ‐ Solids on active drawing are included in temp
drawing.
3630 Panelling ‐ Documentation ‐ Help button in the dialog not working correctlyin Stone, Lathe and Mill modules.
3656 Nesting ‐ Re‐Multidrill ‐ Machines the first sheet multiple times.

Vero Software Limited

www.alphacam.com

Fixed.
Fixed.
*The toolpath must be
updated to apply this fix.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.

Enhanced memory efficiency.
Enhanced memory efficiency.
Enhanced processing
efficiency.
Enhanced processing
efficiency.
Enhanced memory efficiency.
Fixed.
Fixed.

Fixed.
Fixed.
*Exception ‐ CSV files savedwith ANSI encoding (default
system encoding), in adifferent language, being
opened on an English system.
Enhancement.
Fixed. New ‘Angle Control
Setting’ added.
Fixed.
Fixed.
Fixed.

22 of 38

: 2017 R1 新機能紹介

2017 R1

3661 Advanced 5 Axis ‐ Multi Axis Roughing crashes before the MW dialog isdisplayed on some non‐UK systems.
3669 Pocketing ‐ 3D Project ‐ If a pocket cycle is created using Z Contour
Roughing and projected onto a surface, there is no feed move retractingfrom the surface.
3674 Automatic Extraction ‐ Feature Extraction ‐ Drillable Holes ‐ Alphacam takes
longer to process a part than expected. An incorrect result is produced.
3689 Z Contour Roughing ‐ Associate material for auto‐update ‐ If an operation
after the initial one is edited, all subsequent operations are deleted.
3691 Cylindrical Parallel ‐ If Start Angle is not equal to End Angle, cut amount isless than expected. One cut fewer than the expected number of cuts
occurs.
3696 Send to Simulator ‐ Duplicate arc in NC code causes a circular movement in
the simulator.
3704 Send to Simulator ‐ Time taken to send drawing files to simulator, with
rapids manager turned on, is longer than expected.
3709 Cylindrical Parallel ‐ Max and Min extents take all solids and surfaces in theactive drawing into account.
3724 Automation Manager ‐ Sample data sheets are not retained when
Alphacam is closed.
3725 'Cannot Find Offset Path' When applying toolpath.
3738 Rough or Finish ‐ Take Account of Previous Machining ‐ If this option ischecked, previous machining operations are not taken into account.
3739 Pocketing ‐ Take Account of Previous Machining ‐ If stock is changed on aprevious operation, the following operation is not highlighted for updating.
3741 Rough or Finish ‐ Profile ‐ When Bi‐Directional is used, unwanted rapid
moves are produced on second slope.
3812 Geometry ‐ Circle ‐ If the user tries to turn off already drawn geometry to
draw a circle, existing geometry is not hidden.
3815 Nesting ‐ True Shape ‐ Toolpaths overlap.

3816 Copy Part ‐ By Tool ‐ When Copy Part By Tool is used, not all operations arecopied.
3822 Automation Manager ‐ Some controls have larger and over‐saturated icons.
3823 Automation Manager ‐ Support File ‐ If an auto query is used in Automation
Manager, a support file cannot be created.
3825 Pocketing ‐ Incorrect result with set / unset open elements.
3826 Dialogs ‐ Re‐sizing the Alphacam window may cause certain dialogs todisplay with the title bar above the top of the screen, making re‐positioning
them impossible.
3839 Pocketing ‐ Take Account of Previous Machining ‐ Incorrect result when
Type is set to Contour.
3840 Machining ‐ Update/Edit Operations ‐ Alphacam crashes when operations
are edited or updated.

Vero Software Limited

www.alphacam.com

Fixed.
Fixed.

Optimised processing
efficiency, enhanced progress
feedback.
Fixed.
Fixed.

Fixed.
Enhanced efficiency to reduce
processing time.
Enhanced accuracy ‐ Only theparts being machined aretaken into account.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Note: Operations for the nest
parts must be regenerated
before the nest is retried.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.

Fixed.
Fixed.

23 of 38

: 2017 R1 新機能紹介

2017 R1

3862 Router ‐ Essential ‐ Pocketing ‐ When the Z contour roughing option ischecked, the related options are not available until pocketing is restarted. If
the Z contour roughing option is unchecked, not all of the standard options
are available.
3863 Pocketing ‐ Use Z Contour Roughing ‐ Radii are created as lines instead ofarcs.
3888 Tool Axis Conversion ‐ Through Point ‐ Unexpected behaviour with arcs.
3889 Input CAD ‐ STL files with an extremely high facet count are not imported.
Drawing files containing these models cannot be re‐loaded after saving.
4092 Edit Machining ‐ Toolpath data ‐ The Machining Data tab crashes in the
Rough or Finish dialog.
This occurs with 32‐bit Alphacam installations on systems using Windows 8
or Windows 10.
4106 Constraints ‐ Insert Constrained Drawing ‐ Inserting some files using thiscommand displays an error message saying that the referenced parameter
does not exist, constrained data is fatally corrupted and will be removed
from the drawing.
4136 Create default Material ‐ Texture and Associate For Auto Update are
ignored if user selects ‘Manually Select’.
4137 Add‐Ins ‐ Create Default Material ‐ Geometry selection not updated whenusing Manually Selected.
4151 Cut With Disk ‐ Vertical Finishing / Vertical with Disk Side ‐ Cutting
operations start on the incorrect side of the geometry.
4170 Queries ‐ Colour RGB fails if layer is in a User Layer.
4172 Translation ‐ Input CAD ‐ Postscript Options dialog. Cancel button is nottranslated.
4210 Constraints ‐ Insert Constrained Drawing ‐ Parametric Rules ‐ Wheninserting two constrained drawings into Alphacam, not all rules are
displayed.
4211 Shop Floor ‐ Ribbon Bar ‐ Automatically updating the Ribbon Bar displays
command buttons that should not be present.
4216 Pocketing ‐ Z Contour Roughing ‐ Spiral stock removal option is displayed inincorrect product levels. It is only available at Standard level or higher.
4231 Nesting ‐ Sheet Database ‐ User has to re‐select the correct material andadd the thickness again.
4250 Automation Manager ‐ Database update fails if the value entered is
0.00001 or smaller.
4260 Lathe ‐ Circles ‐ Not all Circles are output as segments through post.
4261 Aggregate ‐ Tool Vectors. Tool vectors appear different when a tool is in an
aggregate head.
4269 3D Machining ‐ Parameter Lines ‐ Incorrect toolpath, area un‐machined.
4271 Add‐ins ‐ Alternate File Extension ‐ With a 64 bit Install on Win 8 or 10, thisadd in crashes Alphacam
4313 Rough or Finish ‐ Bi‐Directional ‐ If multiple cuts are used, the rapid move
between them goes through the job.
4439 Machining ‐ Sawing ‐ Alphacam crashes when trying to edit operation.
4457 Rough or Finish ‐ Spiral ‐ Bad toolpath on open geometries and partial
selection.

Vero Software Limited

www.alphacam.com

Fixed.

Fixed.
Prismatic option activated.
Fixed by quadrant limiting
arcs.
Fixed.
Fixed.

Fixed.

Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.

Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed ‐ Toolpaths need
updating.
Fixed.
Fixed.
Fixed.
Fixed.
Open or Partial not supported‐ User warned.

24 of 38

: 2017 R1 新機能紹介

2017 R1

4464 Constraints ‐ Auto Update Toolpaths ‐ Not working for Partial Rough orFinish toolpaths.
4483 Shop Floor Lathe ‐ Materials and Solids are not imported.
4486 NC Output ‐ Rough or Finish ‐ Incorrect lead in/out start and endpoint.
4677 Lathe ‐ Balanced Machining ‐ If an operation is edited, it explodes some
operations and duplicates others.
4683 Cut Spline/Polyline ‐ 3D Lead In/Out ‐ Load settings disables ‘Apply Auto
Lead In/Out’ checkbox.
4790 GUI ‐ Change Font ‐ Cancel button on Change Font prompt translate toGerman.
4804 Automatic Feature Extraction ‐ Parts over 3m are giving strange results
when extracted.
4989 Automatic Extraction ‐ Inaccurate result (Elliptical Edges).
5054 Automatic Extraction ‐ Single hole features are not named or grouped.

Vero Software Limited

www.alphacam.com

Fixed.
Fixed.
Foul Check and warning
added.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.
Fixed.

25 of 38

: 2017 R1 新機能紹介

2017 R1

Appendix A - Alphacam 2017 R1 での API 改造
Application – Get Alphacam File Name with specified initial directoryThis method invokes the Windows File Open/Save dialog box to prompt the user to pick a filename for an
Alphacam file type. Identical to GetAlphacamFileName except this method allows the caller to specify an initial
folder to display in the File Explorer dialog.
App.GetAlphacamFileNameEx(Title As String, Type As AcamFileType, Action As AcamFileAction,
StartFolder As String, FullName As String, FileName As String) As Boolean
Title As String
Caption for the File Explorer dialog.
Type As AcamFileType
The type of file. One of acamFileTypeDRAWING, acamFileTypeFONT, acamFileTypeNC,
acamFileTypePOST, or acamFileTypeTOOL.
Action As AcamFileAction
Specify if the file is to be opened or saved which changes the File Explorer dialog slightly. Note: This command
does not open or save any files – it simply gets a filename from the user.
StartFolder As String
Specify the folder that will initially appear in the File Explorer dialog.
FullName As String
If the function returns True, this will contain the complete path to the chosen file.
FileName As String
If the function returns True, this will contain the filename (no path or extension) of the chosen file.
Returns True if the user chose a file, False otherwise.
ExamplePublic Sub GetAlphacamFileName()'Prompt user for an Alphacam Drawing to load
Dim FilePath As String
Dim FileName As String'Set the initial folder to D:\TestFiles
Dim InitDir As String
InitDir = "D:\TestFiles"
If App.GetAlphacamFileNameEx("Please choose an Alphacam Drawing to load", acamFileTypeDRAWING, _acamFileActionOPEN, InitDir, FilePath, FileName) = True Then
App.OpenDrawing FilePath
End IfEnd Sub

Vero Software Limited

www.alphacam.com

26 of 38

: 2017 R1 新機能紹介

2017 R1

Auto Z Drilling Of Feature Found Holes - Advanced Depth Settings
Two API methods have been added in order to give user further depth settings on feature found holes. Thesemethods reflect the options available through the user interface.
MillData. DrillAutoZBlindHoles As DrillAutoZBlindHolesOn Blind Holes, defines if drill’s tip/shoulder will match with feature extracted hole’s tip/shoulder.
MillData. DrillAutoZThroughHoles As AcamDrillAutoZThroughHolesOn Through Holes, defines if drill’s tip/shoulder will match with feature extracted hole’s tip/shoulder.
ExamplePublic Sub DrillUsingDrillTipOrShould()
Dim Drw As Drawing
Set Drw = App.ActiveDrawing' Let the user select some
Dim Geos As Paths
Set Geos = Drw.UserSelectMultiGeosCollection("Select drilling geometries created through feature
Extraction", 0)
If Geos.Count = 0 Then
Exit SubEnd If' Select the circles
Geos.Selected = True
' Select a drill
App.SelectTool App.LicomdatPath & "LICOMDAT\MTOOLS.ALP\Drill - 10mm.amt"' Setup the machining data
Dim MD As MillData
Set MD = App.CreateMillData
MD.DrillType = acamDRILL
MD.AutoZ = True
MD.SafeRapidLevel = 20
MD.RapidDownTo = 1' For Blind Holes, match the tool's tip to the tip of the cone at the bottom of the hole Feature.
MD.DrillAutoZBlindHoles = acamDrillBlindDrillTip' For Through Holes, use tool's shoulder to drill to the bottom of the hole
MD.DrillAutoZThroughHoles = acamDrillThroughShoulder' Create the tool paths
MD.DrillTap
End Sub

Vero Software Limited

www.alphacam.com

27 of 38

: 2017 R1 新機能紹介

2017 R1

BeforeSaveSolidPart Event
When loading a CAD file, if the user has enabled the “Save each Solid Body to a separate file” in the
Assemblies tab of the Input CAD dialog, this event will be fired immediately before saving each Solid Part. The
event enables an add-in to control which Solid Parts are saved and to optionally override the output location.
Function BeforeSaveSolidPart(Solid As SolidPart, Filename As String) As String
Solid As SolidPart
The SolidPart object about to be saved. The add-in can query the SolidPart to determine how to proceed.
Filename As String
The filename that will be used to save the Solid Part.
Return value As String
An add-in should return one of the following: “0” – Instructs Alphacam to continue as normal.
“2” – Instructs Alphacam to skip this file and continue on to the next Solid Part.
“3” – Instructs Alphacam to abort the operation – no more Solid Parts will be saved.
“<filename>” – Instructs Alphacam to save the Solid Part using the given filename. The filename should containa complete path and include an extension.
ExamplePublic Function BeforeSaveSolidPart(S As SolidPart, Filename As String) As String
MsgBox "BeforeSaveSolidPart - Saving " & S.Name & " to " & Filename
Dim ret As String‘If the Solid Body Name is “SolidWorks 1 My Assembly Cylinder” change‘the output location, otherwise continue as normal
If S.Name = "SolidWorks 1 My Assembly Cylinder" Then
ret = "D:\Assemblies\Cylinder.ard"
Else
ret = "0"End If
BeforeSaveSolidPart = ret
End Function

CadInputSettings – Import DXF / DWG Model Space only
A new property, ModelSpaceOnly, can be used to restrict the entities imported from DXF and DWG files to justthose in “model space”. When set to true, entities in “paper space” are ignored.
CadInputSettings.ModelSpaceOnly As Boolean
When this property is set to true, the DXF and DWG importer will only import entities in “model space”. The
default value is false, to preserve backwards compatibility.
ExamplePublic Sub ImportDXFTest()
Dim cadSettings As CadInputSettings
Set cadSettings = App.CadInputSettings'Import Model-Space entities only
cadSettings.ModelSpaceOnly = True
App.OpenDxfFile "D:\TestFiles\Sample.dxf", True
End Sub

Vero Software Limited

www.alphacam.com

28 of 38

: 2017 R1 新機能紹介

2017 R1

Drawing – SaveSolidParts
Automatically save each Solid Part in the Drawing to separate Alphacam Drawing files. Each Solid Part can
optionally be aligned (excludes STL models) before saving.
Drawing.SaveSolidParts(OutputDirectory As String, BaseFilename As String, FilenameModifier As
AcamSolidPartFilenameModifier, Align As Boolean, OverwriteExisting As Boolean, Filenames As
String) As Long
OutputDirectory As String
Set the output folder to receive each Alphacam Drawing file.
BaseFilename As String
Provide a partial filename (no path or extension) that will be combined with the FilenameModifier to create
unique names for the drawing files. This name is ignored if FilenameModifier is set to acamSolidPartName.
FilenameModifier As AcamSolidPartFilenameModifier
acamSolidPartName – Use the name of the Solid Part as it appears in the Layers Project Manager. Illegal
filename characters will be replaced with the underscore character.
acamAppendSolidPartIndex – Append the BaseFilename with the index of the Solid Part.
acamPrependSolidPartIndex – Prepend the BaseFilename with the index of the Solid Part.
acamAppendSolidPartCounter – Append the BaseFilename with a counter that is incremented for eachsuccessfully saved part.
acamPrependSolidPartCounter – Prepend the BaseFilename with a counter that is incremented for eachsuccessfully saved part.
Align As Boolean
Set to true to align the Solid Part before saving. The alignment settings used are the ones in the Alignment tabof the Feature Extraction Configuration dialog.
OverwriteExisting As Boolean
Set to true to overwrite any existing files. If set to false and a file already exists with the same name as the
Solid Part about to be saved, that file will not be saved, but the operation will continue to the next Solid Part.
Filenames As String
On successful completion of the command this string will received a ‘*’ delimited list of all the filenames thatwere written. An example string might be “Part_001.ard*Part_002.ard*Part_003.ard”.
Return value As Long
The number of Solid Parts that were saved.
ExamplePublic Sub SaveSolidParts()'Load an assembly
App.OpenExternalFile "D:\Assemblies\My Assembly.SLDASM", "SOLIDWORKS", True
‘Save aligned Solid Parts to D:\Assemblies, with the names Part_001.ard,‘Part_002.ard, Part_003.ard etc…
Dim n, i As Integer
Dim SavedFilenames As String
Dim FilenamesArray() As Stringn = App.ActiveDrawing.SaveSolidParts("D:\Assemblies", "Part", acamAppendSolidPartCounter, True, True,
SavedFilenames)
MsgBox "Saved " & n & " Solid Parts"
If (n > 0) Then
‘Split the SavedFilenames into an array of filenames
FilenamesArray = Split(SavedFilenames, "*")‘Do something with the filenames
For i = LBound(FilenamesArray) To UBound(FilenamesArray)
Debug.Print FilenamesArray(i)Next
End IfEnd Sub

Vero Software Limited

www.alphacam.com

29 of 38

: 2017 R1 新機能紹介

2017 R1

Image Preview – Save preview image with no margin
Use the following method to create a drawing preview image which uses the maximum available space. Thismethod will reduce the gap between Alphacam entities and the image margin.
SavePreviewImageNoMargin(FileName As String, ImageType As AcamPreviewImageType, Width As
Long, Height As Long, View As AcamView, Shading As Boolean, Quality As Long, DrawAxes As
Boolean)As SavePreviewImageEx but with no margin.
ExampleSub CreatePreviewNoGap()
Dim drw As Drawing
Set drw = App.ActiveDrawing
Dim strFileName As String
strFileName = App.LicomdirPath & "\PreviewNoBorder.png"
drw.SavePreviewImageNoMargin strFileName, acamImagePNG, 700, 500, acamViewXY, True, 10, False
End Sub

Nesting - Suppress Message Dialogs
The following method allows the suppression of warnings and error messages while nesting. If this method is
set to true, then messages will be suppressed. Otherwise messages will be normally displayed.
Nesting.SuppressDialogs As bool
Enables or disables suppression of all Nesting dialogs, for automation.
ExampleSub TestSuppressDialogs()
Dim N As Nesting
Set N = App.Nesting' Set SuppressDialogs to true, so no messages are displayed
Nesting.SuppressDialogs = True
' Your nesting code here
' Set SuppressDialogs to False, so messages are normally displayed again
Nesting.SuppressDialogs = False
End Sub

Vero Software Limited

www.alphacam.com

30 of 38

: 2017 R1 新機能紹介

2017 R1

Path - Get Paths Inside or Intersecting Other Path in Collection
This method can be used to easily get paths inside or intersecting another path. A different set of flags can beused in order to modify this function return.
AcamPathsInsideOrIntersecting valid flags are acamIncludeItemNumber, acamIncludeSheetBubble,
acamIncludeVisibleOnly and acamPerformSheetCheck.
acamIncludeItemNumber: Include text converted to geometry. Geometry must have the attribute
LicomUKsab_item_number_text set.
acamIncludeSheetBubble: Include nested sheet bubble.
acamIncludeVisibleOnly: If set hidden paths will be ignored
acamPerformSheetCheck: Check if given path is a sheet. If so, ignore other sheet geometries.
Path.GetInsideOrIntersecting(PathsToCheck As Paths, Flags As Long) As Paths
Get paths inside or intersecting this Path inside given collection. If path is open return only intersecting paths.
ExampleSub GetPathsInsideOrIntersecting()
Dim Drw As Drawing
Dim MyPath As Path
Dim PathsInsideOrIntersecting As Paths
Dim Flags As Long
Set Drw = App.ActiveDrawing' Select a geometry to get other geometries inside or intersecting it.
Set MyPath = Drw.UserSelectOnePath("Select a geometry with other geometries intersecting or
inside it")' Select Flags
Flags = AcamPathsInsideOrIntersecting.acamIncludeSheetBubble +AcamPathsInsideOrIntersecting.acamIncludeVisibleOnly +AcamPathsInsideOrIntersecting.acamPerformSheetCheck' Get Paths inside or intersecting
Set PathsInsideOrIntersecting = MyPath.GetInsideOrIntersecting(Drw.Geometries, Flags)' Change color of all geometries inside or intersecting MyPath to Red
Dim TmpPath As PathFor Each TmpPath In PathsInsideOrIntersecting
TmpPath.ColorRGB = RGB(255, 0, 0)
Next TmpPath
Drw.RedrawShadedViews
End Sub

SubOperation – Get Partial Geometries
Some operations such as Rough or Finish can use partial geometries. These geometries are not returned by
the SubOperation.Geometries property, but can now be retrieved using this new property.
SubOperation.PartialGeometries As Paths
Returns a path collection containing the partial geometries associated with this sub-operation. If the suboperation does not use partial geometries then the property returns ‘Nothing’ (or NULL).
Example'Get the Partial Geometries associated with the first operation
Public Sub PartialGeosTest()
Dim ops As Operations
Set ops = App.ActiveDrawing.Operations
If (ops.Count > 0) Then
Dim subOps As SubOperations
Set subOps = ops.Item(1).SubOperations
If (subOps.Count > 0) Then
Dim partialGeos As Paths
Set partialGeos = subOps.Item(1).PartialGeometries
If Not (partialGeos Is Nothing) Then
MsgBox "Found " & partialGeos.Count & " partial geos"
End IfEnd IfEnd IfEnd Sub

Vero Software Limited

www.alphacam.com

31 of 38

: 2017 R1 新機能紹介

2017 R1

Toolpaths - Get toolpath time and feed distanceUse the following methods to obtain the individual toolpath machining time, in seconds, and the feed distance.
Path.TimeForToolPath As Double
Time, in Seconds, if this is a tool path.
Path.FeedDistanceForToolPath As Double
Feed distance if this is a tool path.
ExampleSub GetToolPathTimeAndFeedDistance()' Select a toolpath
Dim p As Path
Set p = App.ActiveDrawing.UserSelectOneToolPath("Pick a toolpath")' Display toolpath time and feed distance via MessageBox
MsgBox p.Name & vbCrLf & _"Machining Time: " & p.TimeForToolPath & vbCrLf & _"Feed Distance: " & p.FeedDistanceForToolPath
End Sub

Wire - Get/Set Sub Operation WireData
Use the following methods to get or set a SubOperation WireData. SetWireData will automatically update the
SubOperation using the new WireData provided.
SubOperation.GetWireData() As WireData
Get WireData from SubOperation
SubOperation.SetWireData(WD As WireData)
Set SubOperation with given WireData
ExamplePublic Sub ModifyClearAreaWireData()
Dim WD As WireData
Dim Op As Operation
Dim SubOp As SubOperation' Get First Operation in Active Drawing
Set Op = App.ActiveDrawing.Operations(1)' Get First subOperation in Op
Set SubOp = Op.SubOperations(1)' Get Mill Data
Set WD = SubOp.getwiredata' Change WireData Values
WD.Stock(1) = 0.2
WD.ClearWidthOfCut = 0.5
WD.ClearLeadInLength = 0.5
WD.ClearStartPointX = 1
WD.ClearStartPointY = 2' Update SubOperation WireData
SubOp.SetWireData WD
End Sub

Vero Software Limited

www.alphacam.com

32 of 38

: 2017 R1 新機能紹介

2017 R1

WheelCutData – New operation parameters
To improve ease of use, several new parameters have been added to the “Cut with Disk” operation. Many ofthese are most useful for the user to modify with the benefit of seeing a dynamic preview in the active drawing.
WheelCutData.ReverseGeo As Boolean
Default: False. When True, reverses the direction of the geometry to be machined (for the operation only).
WheelCutData.ReverseProfile As Boolean
Default: False. This property will only affect finishing strategies. For finishing strategies the cutting will begin at
the profile’s start-point and continue to the profile’s end point. If this property is set to True, cutting will begin at
the profile’s end point and continue to the profile’s start point.
WheelCutData.ChangeGeometryToolSide As Boolean
Default: False. When True, changes the tool side of the geometry to be machined (for the operation only).
WheelCutData.AttachProfileAtStartPoint As Boolean
Default: True. This property will only affect profiles that are in flat-land or in the same work-plane as thegeometry to be machined. When the profile is put into a work-plane, this property controls whether the profile’s
start or end point is attached to the start of the geometry to be machined.
WheelCutData.FlipProfile As Boolean
Default: False. This property will only affect profiles that are in flat-land or in the same work-plane as thegeometry to be machined. When the profile is put into a work-plane, this property controls whether the profile isreflected in a local work-plane axis or not. For Vertical strategies the reflection is done in the local X-Axis, for
Horizontal and Normal to Profile, the reflection is done in the local Y-Axis.
Example 1 - Horizontal Roughing
Public Sub HorizontalRough()
Dim MD As MillData
Dim MT As MillTool
Dim WCD As WheelCutData
Dim PS As Paths
Set MT = App.SelectTool(App.LicomdatPath & "LICOMDAT\stools.alp\Disk - 150mm dia 5mm thick 1mm
rad.ast")If (MT Is Nothing) Then Exit Sub
Set MD = App.CreateMillData
Set WCD = MD.WheelCutData
MD.SafeRapidLevel = 50
MD.DownFeed = 125
MD.WidthOfCut = 6
MD.Stock = 0.5'New – Geometries(1) is in flat-land
WCD.SetSideProfile App.ActiveDrawing.Geometries(1)WCD.SetGeometry App.ActiveDrawing.Geometries(2)WCD.Method = acamWheelMethodHorizontal
WCD.DepthOfCut = 15
WCD.WidthOfFirstCut = 2
WCD.LeadLength = 15
WCD.FinishPassOnly = False
WCD.Bidirectional = True
WCD.CleanerCutDepth = 1.5
WCD.SafeXYDistance = 5'New - attach the profile at its end point
WCD.AttachProfileAtStartPoint = False'New - flip the profile
WCD.FlipProfile = True
'New - Reverse the Geometry
WCD.ReverseGeometry = True
Set PS = WCD.CutWithDisk
End Sub

Vero Software Limited

www.alphacam.com

33 of 38

: 2017 R1 新機能紹介

2017 R1

Example 2 – Horizontal Finishing
Public Sub HorizontalFinish()Dim MD As MillData
Dim MT As MillTool
Dim WCD As WheelCutData
Dim PS As Paths
Set MT = App.SelectTool(App.LicomdatPath & "LICOMDAT\stools.alp\Disk - 150mm dia 5mm thick 1mm
rad.ast")If (MT Is Nothing) Then Exit Sub
Set MD = App.CreateMillData
Set WCD = MD.WheelCutData
MD.SafeRapidLevel = 50
MD.DownFeed = 125
WCD.SetSideProfile App.ActiveDrawing.Geometries(1)WCD.SetGeometry App.ActiveDrawing.Geometries(2)WCD.Method = acamWheelMethodHorizontal
WCD.LeadLength = 10
WCD.FinishPassOnly = True
WCD.Bidirectional = True
WCD.MaxErrorOnProfile = 0.8
WCD.SafeXYDistance = 5'New – Reverse the profile to change if cutting starts at the top or the bottom of the profile
WCD.ReverseProfile = True
'New – Change the tool-side of the geometry to be machined
WCD.ChangeGeometryToolSide = True
Set PS = WCD.CutWithDisk
End Sub

Vero Software Limited

www.alphacam.com

34 of 38

: 2017 R1 新機能紹介

2017 R1

Appendix B - 64-bit VBA Macros
Introduction
With the introduction of the 64‐bit version of Alphacam, it was necessary to upgrade to Microsoft Visual Basic forApplications 7.0 (VBA7). VBA 7 is now used in the 32‐bit and 64‐bit Alphacam and AlphaEdit applications.
All Alphacam add‐ins installed with Alphacam 2015 R2 have been updated to work with Visual Basic 7.0 in both 32‐bit and64‐bit Alphacam (with the exception of APM and CDM).
If you develop your own add‐ins and want them to work with 64‐bit Alphacam they must be tested because they may notwork without modification. Specifically if your add‐in uses any of the Windows API functionality it will require some
updates before it can run.
The main reason why VBA code needs to be updated is because many of the Windows API function parameter types arepointers (memory location addresses) and these need to be stored as 64‐bit values when running in a 64‐bit environment,
and 32‐bit values in a 32‐bit environment. Lots of existing VBA 6 code uses 32‐bit values to store pointers which won't
work in a 64‐bit environment.
In VBA 7, you must update all Windows Application Programming Interface (API) statements (Declare statements) towork with the 64‐bit version. You may also need to update the definitions of the user‐defined types that are used bythese statements as well as code that calls these functions.
Microsoft have a download which includes Windows API Declarations and Constants for Visual Basic which has been
updated for 64‐bit here: http://www.microsoft.com/en‐us/download/details.aspx?id=9970
After you download and install it then you can refer to the file here: "C:\Office 2010
DeveloperResources\Documents\Office2010Win32API_PtrSafe\Win32API_PtrSafe.TXT". It contains a lot of useful
declarations you can copy and paste from.
Another useful article can be found here: https://msdn.microsoft.com/en‐us/library/ee691831(office.14).aspx

Fixing Declare Statements
The first thing you are likely to have to do is to update Declare statements with the PtrSafe keyword. This tells VBA 7 thatyou believe the function call is safe to call in a 64bit environment (it doesn’t mean that it necessarily is though!)
In an existing VBA 6 macro you may have a statement like this...
Private Declare Function GetUserDefaultLCID Lib"kernel32" () As Long
It declares that we want to use a function called GetUserDefaultLCID inside Kernel32.dll that takes no parameters andreturns a Long. This function doesn't use any pointer parameters so it can be simply updated to include the PtrSafe
keyword...
Private Declare PtrSafe Function GetUserDefaultLCID Lib "kernel32" () As Long
No other changes are required (unless you need to make your macro work with VBA 6 and VBA 7 ‐ see later).

Vero Software Limited

www.alphacam.com

35 of 38

: 2017 R1 新機能紹介

2017 R1

Fixing functions with pointer types
Here is another example from a VBA 6 macro...
Private Declare Function RegOpenKeyEx Lib"advapi32.dll" Alias "RegOpenKeyExA"(ByVal hKey As Long,ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal
samDesired As Long,phkResult As Long) As Long
This function is used to open a registry key. Referring to the Win32API_PtrSafe.txt we can update this to the following...
Private Declare PtrSafe Function RegOpenKeyEx Lib "advapi32.dll"
Alias"RegOpenKeyExA" (ByVal hKey As LongPtr,ByVal lpSubKey As String, ByVal
ulOptions As Long, ByVal samDesired As Long,phkResult As LongPtr) As Long
In this case, in addition to the PtrSafe keyword, two of the parameters are pointers and need to change type from 'Long'
to 'LongPtr'. 'LongPtr' is a special type that will automatically be replaced by a type large enough to hold a pointer value
for the current run‐time environment. In other words if you are running 64bit Alphacam, a 'LongPtr' will be a 64bit value,
and if you are running 32bit Alphacam it will be a 32bit value.
The code that uses this function needs to be updated too. In VBA 6 the original code surrounding this function was…
Public Function gb_ExportRegKey(ByVal lKeyRoot As KeyRoot,ByVal sKeyPath As String,
ByVal sFileName As String) As Boolean
Dim lngHKey As Long
Dim lngRet As Long
lngRet = RegOpenKeyEx(lKeyRoot, sKeyPath, 0&,KEY_ALL_ACCESS, lngHKey)In VBA 7 it should be…
Public Function gb_ExportRegKey(ByVal lKeyRoot As KeyRoot,ByVal sKeyPath As String,
ByVal sFileName As String) As Boolean
Dim lngHKey As LongPtr
Dim lngRet As Long
lngRet = RegOpenKeyEx(lKeyRoot, sKeyPath, 0&,KEY_ALL_ACCESS, lngHKey)In this case, just the type of the HKEY returned by the RegOpenKeyEx function needs to be updated from a Long to a
LongPtr.

VBA 6 Backwards compatibility
As mentioned above there is some additional work to do if you wish to maintain backwards compatibility with VBA 6. If
you install a macro in the \LicomDir\VBMacros folder for example, it may be used by Alphacam 2015R1 (or older) as well
as Alphacam 2015 R2. Unfortunately the new keywords 'PtrSafe' and 'LongPtr' were introduced in VBA 7, and VBA 6
doesn't know what they mean.
To allow your VBA code to work in both VBA 6 and VBA 7 it is necessary to use a Conditional Compilation test for VBA 7
as follows: ‐#If VBA7 Then
Private Declare PtrSafe FunctionGetUserDefaultLCID Lib "kernel32" () As Long
Private Declare PtrSafe FunctionRegOpenKeyEx Lib "advapi32.dll" Alias"RegOpenKeyExA"(ByVal hKey As LongPtr, ByVal lpSubKey As String, ByVal ulOptions
As Long,ByVal samDesired As Long, phkResult As LongPtr) As Long
#Else
Private Declare Function GetUserDefaultLCID Lib"kernel32" () As Long

Vero Software Limited

www.alphacam.com

36 of 38

: 2017 R1 新機能紹介

2017 R1

Private Declare Function RegOpenKeyEx Lib"advapi32.dll" Alias "RegOpenKeyExA"(ByVal hKey As Long,ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal
samDesired As Long,phkResult As Long) As Long#EndIf
It is also necessary to 'wrap' any instances of 'LongPtr' in the code. In the case of the gb_ExportRegKey function above it
would need to be modified as follows:
Public Function gb_ExportRegKey(ByVal lKeyRoot As KeyRoot,ByVal sKeyPath As String,
ByVal sFileName As String) As Boolean#If VBA7 Then
Dim lngHKey As LongPtr#Else
Dim lngHKey As Long#End If
Dim lngRet As Long
lngRet = RegOpenKeyEx(lKeyRoot, sKeyPath, 0&,KEY_ALL_ACCESS, lngHKey)

Testing Macros
Attempting to load macros into Alphacam that are not compatible with 64bit VBA 7 will result in one or more warning
dialog boxes appearing. The last of these dialog boxes contains a summary of all the macros that failed to compile. You
can copy this information to the clipboard and optionally choose to disable these macros.
You can use the VBA Editor Debug | Compile <Macro name> command to help you find the code and declarations thatneed to be updated.

Active X Components
If you have used any of Microsoft’s Active X objects to add advanced User Interface controls to your VBA Macro you will
unfortunately run into additional difficulties. Microsoft has not made 64 bit versions of these components (seehttps://msdn.microsoft.com/en‐
us/library/office/ee691831(v=office.14).aspx#odc_office2010_Compatibility32bit64bit_ActiveXControlCOMAddinCompat
ibility )…
"This includes the common controls of MSComCtl (TabStrip, Toolbar, StatusBar, ProgressBar, TreeView, ListViews,
ImageList, Slider, ImageComboBox) and the controls of MSComCt2 (Animation, UpDown, MonthView, DateTimePicker,
FlatScrollBar)"
Unfortunately there aren't many options ... either removing the component (and simplifying the interface) or seeking analternative solution. Regarding alternatives ... some of the VBA components inside Alphacam use Codejock's Xtreme
Suite Pro Active X components, which are available in 32 and 64bit. This is a commercial product so there is cost involved.
It is recommended that you contact support if you would like more information.

Vero Software Limited

www.alphacam.com

37 of 38

: 2017 R1 新機能紹介

2017 R1

Appendix C - C# Add-Ins
Alphacam will search for C# DLLs in two specific folders; “Dot NetAdd‐Ins” in the same folder as the Acam.exe and“…\LicomDir\DotNetAdd‐Ins”. Each C# add‐in must include a text file with the extension “.acamaddin” which Alphacam
will read to determine information about the C# add‐in, including how and when it should be loaded.
A typical .acamaddin file contains the following: ‐$1 ' Name of .Net DLL to load, no path or extension.
ExampleAddIn$2 ' 1 to always load, 0 to show in Utils | Add‐Ins dialog box
0$3 ' NoDefaultLoad, = 1 don't load if user registry entry not set. (Only used if $2 = 0)
1
$4 ' 1 if this is an Extra Cost Option
0$10 ' Load for Mill, 1 = yes, 0 = no1
$20 ' Load for Router, 1 = yes, 0 = no1
$30 ' Load for Stone, 1 = yes, 0 = no1
$40 ' Load for Lathe, 1 = yes, 0 = no1
$50 ' Load for Profiling, 1 = yes, 0 = no1
$60 ' Load for Wire, 1 = yes, 0 = no1
The entry under $1 must be the name of the C# DLL without extension. The DLL must be in the same folder as
the .acamaddin file itself. (The files can be in sub‐folders of one of the “DotNetAdd‐Ins” directories).
Each C# add‐in must include a reference to “Interop.AlphaCAMMill.dll” (which is installed in the same folder as acam.exe),
and implement a public class called “AlphacamEvents” with a constructor defined as taking a single IAlphaCamApp
parameter. Alphacam will call this constructor when the add‐in is loaded.
From the IAlphaCamApp interface the add‐in can retrieve the Frame interface and use the method “CreateAddInInterface”
to create an AddInInterfaceClass which can be used to add event handlers such as InitAlphacamAddIn, BeforeInputCad,
AfterMachining, etc. The InitAlphacamAddIn event handler can be used to add new commands to the Alphacam interface.
In addition to supporting to events, an add‐in can respond to various notifications such as when different kinds of entities(geometries, splines, surfaces, etc.) are added or modified. The “CreateAddInNotifications” method on the Frameinterface can be used to create various notification event handlers.

Vero Software Limited

www.alphacam.com

38 of 38