弊社では1990年創業当時からAutoCADをカスタマイズして図面作成や編集作業の自動化をはかってきました。その頃はまだ廉価版のLTは出ておらず、OSもWindowsが登場する前でした。その為、当時のAutoCADと言えばレギュラー版ということになります。
MS-DOS時代のAutoCADを本格的に業務で使おうとすると、パソコンに装着するグラフィックボードは必須であり、何らかのカスタマイズも必要でした。当時主流であったAutoCADのカスタマイズ方法の1つにAutoLISPプログラミング言語を使ったものがあります。
弊社はソフトウエア開発が本業では無いので、あくまで社内のみで使う為にAutoLISPでオリジナルコマンドを数多く作っていました。インターフェースも社員だけがわかれば良いというものであり、エラー処理も特に必要としませんでした。上記の写真は本格的にAutoLISPプログラムでコマンド開発をしていた時、バイブルとして使っていた「カスタムガイド」です。600頁近くあるこの本はAutoCAD R13Jに付属でついていたものです。当時はまだソフトウエアが大きな箱に入り、このような本が数冊入っていました。今でも時々使うので、ページもちぎれてボロボロになっています。
その後Windowsが本格的に使われだした頃から、AutoCADもバージョンアップのたびに機能アップを重ね、オリジナルコマンドを使う場面が減ってきました。現在は特定の業種・企業から特殊な図面作成・編集に関してのAutoCADアプリケーション作成のご依頼をいただいております。
※参考
1990年~2005年の間に作成し、業務上よく使っていたコマンドは次のようなものです。下記以外にも納品先の企業向けに特化したコマンドを多数作成しました。
2次元テクニカルイラスト関連
等測軸方向への配列複写
圧縮コイルばねの作成
図面の角度を等角図X、Y、Z面上での実角に変換する
等測軸方向への複写
35度、55度楕円によるフィレット
等測面上の楕円度を求める
非等測軸円柱を描くための楕円複合図形を作成する
番号を一括シフト
複合図形の一括削除、分解
X(またはY、Z)平面上の長方形を作成する
DA(きり穴),TAP(タップ穴)を挿入する
不透明(または透明)な直方体を作成する
X軸(またはY軸、Z軸)回転の箱透明を作成する
図形をX平面(またはY平面、Z平面)上で移動させる
等測軸方向への移動
2種類の長穴の作成
部品番号1桁(或いは2桁)を引出し線の先端に記入する
不透明(透明)な円筒(円柱)を作成する
X面(またはY面、Z面)上の円柱透明を描く
3面図から等角図を作成する
等角図-等測図変換
等測軸半径(或いは直径)の楕円を描く
円弧で、楕円を描く
一般
水平寸法数字を実寸1mmだけ下方へ移動する
垂直寸法数字を実寸1mmだけ右方へ移動する
表の足し算
寸法補助線の始点を揃えた直列水平寸法
寸法補助線の始点を揃えた直列垂直寸法
線上中央文字記入
線上左寄せ文字記入
一括文字高さ変更
表の足し算と掛け算
線下中央文字記入
線下左詰文字記入
一括字体変更
矢印反転
八の字水平寸法
記入済みの数字を連番に変更する
表の足し算(数値置き換え)
表の足し算と掛け算(数値置き換え)
カンマ形式のデータを応力表に挿入する
線沿文字記入
文字列の置き換え(縦方向に連続で文字列を変更する)
記入済み数値の一括掛け算
平行四辺形水平寸法
スペース区切りのデータを応力表に挿入する
横方向に連続で文字列を変更する
Aという字体の文字をBという字体へ変更する
全ての文字を指定した字体へ変える
文字を指定した高さへ一括して変える
塗り潰し矢印を他の端末記号に変更する
全角文字列の分解
部材転記用引出線(構造偏心などに使用)
ボルト転記文字列の分解(~の前後で3分割)
旧型ポリラインの幅を一括変更する
切れた線をつなぐ
一括ポリライン化(LWPOLYLINE)
一括ポリライン幅変更(LWPOLYLINE)
一括図形尺度変更(識別コード10を基点にする)
文字列の末尾(或いは先頭)に文字列を追加する
指示した図形の画層をフィルタリングする
文字の位置合わせの変更
均等割付文字記入
指示した図形の色をフィルタリングする
文字の半角全角変換
楕円DXFの補正
全角文字の選択
一括スプライン編集(ポリ編集でスプライン化した図形を真のスプラインにする)
文字列を括弧でくくる。
円弧を直線に変換する
スクリプト内で使用可能な全体分解コマンド
線分の長さを一括で尺度変更する
線分の中点に一括で点を打つ
線分の中点に一括で円を描く
スプラインを等分割に3Dポリラインで分割する(FR001の一括処理)
線分の中点に一括で円を描く(粗さ調整可能)
文字をマルチテキストに連続変換(Express toolsのtxt2mtxtを使用)
スプラインを等分割に3Dポリラインで分割する
二重作図チェック。重なっているオブジェクトを削除、短ければ延長または結合するコマンド
プラント
十字交差部分の水平線をカットする。配管フローシートで使用
十字交差部分の垂直線をカットする。排水処理施設フローシートで使用
画層C-*を最背面、LINE-*を最前面、指定画層(機器の画層)を最前面、M-*を最前面へ移動する。排水処理施設フローシートで使用
特殊
矢印削除後の寸法線を延長し線分で矢を描きなおす矢印の長さ150mm開き30度
矢印削除後の寸法線を延長し線分で矢を描きなおす矢印の長さ150mm開き30度人孔台帳で使用
ME10のDXFからPDFへ変更する為の前処理
3次元
3D面の法線方向の表示画面に対する前後関係を区分する。
3角形3Dメッシュを統合し、4角形メッシュにする。
指定長さ以上のエッジを持つ3角形3Dメッシュを2分割するコマンド
3D面の法線を反転させるコマンド
3点が一直線上にある3D面を選択、修正するコマンド
p1とp3またはp2とp4が一致する面を削除するコマンド
光反射の方向と強度を表示する
3角形3Dメッシュの種類を区分するコマンド
面積が指定値未満の3D面を選択し、画層0に移動するコマンド
3角形3D面の頂点No.をずらすコマンド
3D面のを確認しながら反転させるコマンド
線分と平面の交点に点を打つ
リージョンを3D面にする(4角形のみ)
LWポリラインの頂点座標を得る
指定長さ以上のエッジを持つ3角形3Dメッシュを選択するコマンド
リージョンを3D面にする(3、4角形 )
プリミティブサーフェスの作成(閉じたポリ多角形を断面とするサーフェスを作成)
サインカーブの作成
頂点が重複する3角形3D面を_3kaku画層に移動するコマンド
線分と平面の交点に点を打つ(線分オブジェクト選択)
SINカーブの面作成
鉄塔
塔体クレモナ
腕金断面水平材作図
応力係数線上中央文字記入
応力表掛け算
応力表の異常時集計
安全率
塔体対辺材作図(二等辺三角形,補助材無し)
塔体対辺材作図(二等辺三角形,ダイヤモンド補助材有り)
二等辺三角形の作成(吊下げ、突上げ材)
部材長(1mm単位四捨五入)を線上中央文字記入
三角形の当分割平行線を描く
直線を180度反転
安全率 ボルト強度/引張応力
記入済安全率を3桁表示に変更する