鍋CADスクリプト投稿専用
このフォームからは投稿できません。
name
e-mail
url
subject
comment

[トップに戻る] [新規投稿] [ワード検索] [管理用]



[26] 内蔵エディタの保存 投稿者:管理人 投稿日:2023/06/22(Thu) 17:58 [返信]  

//  内蔵エディタの保存サンプル 2023/06/01 NabeTech

Program EditorSaveFile;
var
folda, FileName, s : string;

begin // エディタにNCデータを準備しておいて下さい。
folda := 'c:\nc\'; // 任意のフォルダ

InputStr('File Name?', s);
FileName := folda + s + '.nc'; // 拡張子に注意

EditorSetCaption(FileName); // 内蔵エディタのキャプションを設定します。
EditorSave(FileName);

WinExec('c:\NTVIEW\NtView.exe' + ' ' + FileName); // 鍋ビュワの起動
End.

※ Ver9.16 以降のみ



[25] シンボル集計 投稿者:管理人 投稿日:2022/04/23(Sat) 14:31 [返信]  

Download:25.zip 25.zip 配置済みシンボルを集計するスクリプトです。
事前に対象の要素(範囲)をトラップしておいて下さい。



[24] 要素分解 投稿者: 投稿日:2021/12/19(Sun) 01:10 [返信]  

Download:24.zip 24.zip 初めて投稿させて頂きます。

円、円弧及び直線を指定した長さの直線に分解するスクリプトです。
当方では3軸MCの等高線加工のZ座標計算用に使用しています。



[21] ラジオボタンサンプル 投稿者:管理人 投稿日:2021/07/12(Mon) 18:57 [返信]  

// ラジオボタンサンプル 2021/06/29 NabeTech

Program TestDialog;
Begin
InitDlg(); // ダイアログ初期化

RadioItemsAdd('abc'); // アイテムの追加
RadioItemsAdd('bbc');
RadioItemsAdd('ccc');
RadioItemsAdd('zzz');
RadioItemsAdd('fff');

// ラジオボタンの追加(タイトル,横位,縦位置,幅,高さ,列数
AddRadio('TITLE', 20, 15, 300, 150, 2);

If ShowDlg(350, 250,'ラジオボタン') <> True Then
Exit;

OkMsgBox(IntToStr(GetRadioIndex()));
End.

※Ver9.13以降でないと動きません。



[18] 多重ダイアログサンプル 投稿者:管理人 投稿日:2021/05/05(Wed) 13:39 [返信]  

// ダイアログサンプル 2021/05/05 NabeTech

Program TestDialog;
var // グローバル変数宣言
pa, pb, pc : double;

Begin
AddLabel(40, 20, 80, 13, 'パラメータA');
AddLabel(40, 50, 80, 13, 'パラメータB');
AddLabel(40, 80, 80, 13, 'パラメータC');

AddEdit(1, 130, 20, 50, 21, '1');
AddEdit(2, 130, 50, 50, 21, '2');
AddEdit(3, 130, 80, 50, 21, '3');

If ShowDlg(220, 150,'ダイアログ1') <> True Then
Exit;

pa := StrToFloat(GetDlgText(1)); // 文字を実数に変換
pb := StrToFloat(GetDlgText(2));
pc := StrToFloat(GetDlgText(3));

InitDlg(); // ダイアログ初期化
AddLabel(20, 20, 80, 13, 'a+b+c='+FloatToStr(pa+pb+pc));
If ShowDlg(300, 100,'ダイアログ2') <> True Then
Exit;
End.



[14] 文字拡縮 投稿者:シェカラ氏 投稿日:2017/09/01(Fri) 14:33 [返信]  

Download:14.zip 14.zip 選択HITした文字列をクリック毎に拡大、SHIFTまたはALTキー押し下げ状態ではクリック縮小されます。
文字列以外をHITしたり Escキーで終了します。



[13] GetKeyStat() サンプル 投稿者:管理人 投稿日:2017/08/29(Tue) 06:56 [返信]  

特殊キーの押下状態を取得します。
当然ですが、Ver9以降のみで動作します。

program GetKeyStatDEMO; // 2017/08/27
const
VK_SHIFT = $10; // Shiftキー
VK_CONTROL = $11; // Ctrlキー
VK_MENU = $12; // Altキー
var
stat : string;
begin
OkMsgBox('何かキーを押して下さい');
if GetKeyStat(VK_SHIFT) then
stat := ' Shift ';
if GetKeyStat(VK_CONTROL) then
stat := stat + ' Ctrl ';
if GetKeyStat(VK_MENU) then
stat := stat + ' Alt ';

OkMsgBox(stat);
end.



[12] ここはスクリプトの投稿専用です。 投稿者:管理人 投稿日:2017/05/15(Mon) 17:11 [返信]  

↓質問は「鍋CAD サポート掲示板」にお願いします。


[11] CAD編集 投稿者: 投稿日:2017/04/04(Tue) 13:50 [返信]  

お世話になります。
客先から入手したCADデータを鍋キャド8で編集(線等の削除)する方法教えてください。



[10] 点を円 投稿者:管理人 投稿日:2016/01/14(Thu) 16:20 [返信]  

Download:10.zip 10.zip 現ページのアクティブなレイヤ内にある全ての点を円に変換します。
直径も指定できますが、適当に改造してお使い下さい。



[8] THD変数化 投稿者:管理人 投稿日:2015/12/01(Tue) 11:30 [返信]  

Download:8.zip 8.zip エディターに読み込んだNCコードのTHDを変数化します。
T->T#
H->H#
D->D#



[7] FANUC2OSP Ver1.2 投稿者:管理人 投稿日:2015/03/21(Sat) 19:10 [返信]  

Download:7.zip 7.zip FANUC系NCデータをOSP用に変換するスクリプトです。
事前に内蔵エディタにNCデータを準備しておいて下さい。

自動編集ヶ所
1.G54..G59をG15H1..H6に変更する
2.G80を消す
3.M98をCALL Oに変更する
4.M99をRTSに変更する



[6] ページリスト DELUX 投稿者:管理人 投稿日:2014/12/05(Fri) 08:59 [返信]  

Download:6.zip 6.zip ページとレイヤのリストをエディタに書き出します。
[作図要素数]も書き出すデラックス版です。
※Ver8.21以降のみ対応



[5] ページジャンプ 投稿者:管理人 投稿日:2014/11/30(Sun) 09:35 [返信]  

Download:5.zip 5.zip 裏ページの要素をヒットすると、そのページ・レイヤにジャンプします。

// gotoPage 2014/11/28 Nabetech
var
id, ty, page, layer: integer;
d1, d2, d3, d4, d5 : double;
begin
Message('ジャンプ先要素をヒットして下さい');
id := Hit(ty, d1, d2, d3, d4, d5);
if id > -1 then
if GetPageLayer(id, page, layer) then
Begin
ActivePage(page);
Activelayer(layer);
End;
end.



[4] ページリスト 投稿者:管理人 投稿日:2014/11/27(Thu) 17:03 [返信]  

Download:4.zip 4.zip ページとレイヤのリストをエディタに書き出します。
未公開関数のGetPageName()とGetLayerName()のサンプルとして下さい。



[3] StringListの使用例 投稿者:管理人 投稿日:2014/10/29(Wed) 14:05 [返信]  

Download:3.zip 3.zip StringListを使うと大量の文字列を簡単に扱う事が出来ます。
以下、使用例です。

// NCコードに行の挿入例 2014/10/29 NabeTech
// エディタにNCデータを準備しておいて下さい。

Program WorkPositionEdit;
var
i, leng : integer;
s : string;
sl : stringlist;

begin
sl := stringlist.Create; // StringListの利用例
sl.Clear;

leng := EditorLength(); // エディタの行数を取得する
for i:=1 to leng do // StringListに全行を格納する
sl.Add(EditorRead(i));

EditorCrear(); // エディタの消去

for i:=1 to leng do
Begin
s := sl.GetItem(i-1); // 注:インデックスと違う
Writeln(s);
if Length(s) < 1 then continue;
if Pos('%', s) > 0 then continue;
Writeln('M01');
End;

sl.Free; // 解放を忘れずに
End.



[2] シーケンスNo 投稿者:管理人 投稿日:2014/08/23(Sat) 12:51 [返信]  

// シーケンスナンバー追加ログラム
// Ver8.12以降をお使い下さい。 2013/11/29 NabeTech

Program SeqnNo;
var
i, n, leng : integer;
s : string;

begin // エディタにNCデータを準備しておいて下さい。
n := 1;
leng := EditorLength(); // エディタの行数を取得する
for i:=1 to leng do
Begin
s := EditorRead(i);
if Length(s) < 1 then continue;
if Pos('%', s) > 0 then continue;
if Pos('(', s) > 0 then continue;
if Pos('N', s) > 0 then continue;

EditorWrite(i, IntToStrf('N%.4d',n)+s);
inc(n);
End;
End.



[1] CGI更新 投稿者:管理人 投稿日:2014/08/23(Sat) 12:49 [返信]  

スバム投稿が激しいため、投稿掲示板のCGIを更新しました。

旧投稿記事は↓にありますので、参照は出来ます。(投稿不能)
http://www.nabetech.com/ntcad/scriptpost/nabeclip.cgi



記事No 削除キー

- ClipBoard Antispam Version -