WAVE技術情報 - ffgs.fujifilm.co.jpffgs.fujifilm.co.jp/support/autocomposw/simple... · WAVE-125...
Transcript of WAVE技術情報 - ffgs.fujifilm.co.jpffgs.fujifilm.co.jp/support/autocomposw/simple... · WAVE-125...
WAVE 技術情報 WAVE に関する注意事項やトラブル発生時の対処方法などをご紹介します。 技術情報コード バージョン 対象プラットフォーム タイトル カテゴリ
WAVE-149 WAVE 共通 OS 共通 字間設定ファンクションで半角数字を詰めようとすると上手くいかないことがある
組版・文字編集
WAVE-141 WAVE 共通 OS 共通 行長フィットONで流し込みをした文字列の長さが指定どおりになりません。
組版・文字編集
WAVE-129 WAVE 共通 OS 共通 組版できないJIS基本漢字(JIS X 0208)について
組版・文字編集
WAVE-069 WAVE 共通 OS 共通 エリア組版のとき、一行目の文字にルビをつかう。ルビをエリアの外にだしたいときは
組版・文字編集
WAVE-044 WAVE 共通 OS 共通 合成文字をINSERTした場合に文字編集ができない。
組版・文字編集
WAVE-040 WAVE 共通 OS 共通 エリア組版とテンキー組で約物の文字間が異なることがある。
組版・文字編集
WAVE-039 WAVE 共通 OS 共通 エリア組版でシングルは実行されるがマルチだと実行不可なテキストがあります。
組版・文字編集
WAVE-034 WAVE 共通 OS 共通 コマンドライン上で、一時字体変更 < のファンクションコード変更方法は?
組版・文字編集
WAVE-010 WAVE 共通 OS 共通 斜体の編集画面表示と出力が一致しません。 組版・文字編集 WAVE-150 WAVE 共通 OS 共通 項目名で使用できない文字 自動組 WAVE-098 WAVE 共通 OS 共通 自動表組のエラーが発生したときは。 自動組 WAVE-094 WAVE2006 OS 共通 自動組でランタイムエラーが発生します。 自動組 WAVE-061 WAVE2002 OS 共通 自動組の拡張定義をひらけません 自動組
WAVE-060 WAVE 共通 OS 共通 自動組を実行しようとすると「実行時エラー5」などと表示されます。対処方法は
自動組
WAVE-003 WAVE2006 OS 共通 コマンド:モデルを再作図中 というメッセージがでたまま起動できなくなります。
自動組
WAVE-154 WAVE 共通 OS 共通 DWGを開く際に画像パスを検索パスに置き換えをしないと、画像プレビューが表示されないケースがある
画像
WAVE-096 WAVE 共通 OS 共通 配置画像のプレビューが見えなくなったとき。 画像 WAVE-082 WAVE 共通 OS 共通 画像配置はどんな種類が可能ですか。 画像
WAVE-055 WAVE 共通 OS 共通 イラストレータのEPSを下絵取り込みできません。
画像
WAVE-162 WAVE 共通 OS 共通 特定の画層を非表示にして出力するとAMI画層の濃度が変わることがある
出力
WAVE-158 WAVE 共通 OS 共通 Quark頁順変換 実行の途中で処理が止まる場合がある
出力
WAVE-157 WAVE 共通 OS 共通 オープンタイプを使った縦組で括弧がずれる。半角英数字のベースラインが下がる。
出力
WAVE-147 WAVE 共通 OS 共通 横長のデータを出力すると右端しが印字されず欠けている。
出力
WAVE-143 WAVE 共通 OS 共通 配置画像が違う色でプリントされる。 出力
技術情報コード バージョン 対象プラットフォーム タイトル カテゴリ WAVE-137 WAVE 共通 OS 共通 シングルクォートの字形について 出力
WAVE-136 WAVE 共通 OS 共通 縦書きで字形が変わる全角記号について(TrueType、OpenTypeフォントの場合)
出力
WAVE-135 WAVE 共通 OS 共通 縦書き用に字形が変わる全角記号について(PSフォントの場合)
出力
WAVE-134 WAVE 共通 OS 共通 PSフォントで「漢字3」領域の文字が出力されない
出力
WAVE-133 WAVE 共通 OS 共通 WAVEから出力したEPSファイルにフォントを埋め込むには
出力
WAVE-130 WAVE 共通 OS 共通 WAVEからPSファイルを出力してPDFを作成する際の注意点
出力
WAVE-128 WAVE2006 OS 共通 オープンタイプの縦組で半角英数字のベースラインが下がる
出力
WAVE-124 WAVE 共通 OS 共通 オーバープリント設定しているのに,Acrobatで確認するとオーバープリントにならない。
出力
WAVE-122 WAVE 共通 OS 共通 小さい円を作図してプリント出力すると円にヒゲが発生する
出力
WAVE-119 WAVE 共通 OS 共通 全角アンダバーが出力されない 出力
WAVE-106 WAVE 共通 OS 共通 PS&プリンタ出力やSPFPS変換実行をスクリプトでおこなう出力方法はありますか。
出力
WAVE-100 WAVE 共通 OS 共通 DXFSPF変換でエラーが発生したときは。 出力
WAVE-075 WAVE 共通 OS 共通 PSプリンタやイメージセッター出力で PSError. と表示される。
出力
WAVE-074 WAVE 共通 OS 共通 SVG出力のためのLISP関数はありますか 出力 WAVE-038 WAVE 共通 OS 共通 フチの出力でひげ(スパイク)が出る。 出力 WAVE-028 WAVE 共通 OS 共通 優先順位とオーバープリントについて 出力
WAVE-023 WAVE 共通 OS 共通 画像を複数配置したがデータの一部の画像や文字などが出力されない。
出力
WAVE-020 WAVE 共通 OS 共通 FacilisにPSを渡して面付けをしたい。 出力 WAVE-019 WAVE 共通 OS 共通 SPFPS変換の実行できない。 出力
WAVE-018 WAVE 共通 OS 共通 イメージセッターに出力する。網形状はDOT/ELLIPSE/LINEとあるが、どれにしたらよい?
出力
WAVE-017 WAVE 共通 OS 共通 出力センターへの依頼方法で膜面下の指定をするには?
出力
WAVE-016 WAVE 共通 OS 共通 画像が出力されない。 出力
WAVE-015 WAVE 共通 OS 共通 プリンタを新規購入しました。PPDファイルの入手方法をしりたい。
出力
WAVE-013 WAVE 共通 OS 共通 A3 ノビ対応のプリンタなのに、A3 ノビを設定できない。
出力
WAVE-160 WAVE 共通 OS 共通 全角記号のウエイトがLightでもHeavyでも同じ文字種について
書体
WAVE-140 WAVE 共通 OS 共通 フォント設定ツールの起動時に「ファイルを読み込みエラー」が発生します
書体
WAVE-131 WAVE 共通 OS 共通 合成フォントはできますか?そのとき欧文を級上げできますか?
書体
WAVE-127 WAVE 共通 OS 共通 欧文括弧のベースラインを下げるには 書体 WAVE-126 WAVE 共通 OS 共通 欧文カンマのベースラインを下げるには 書体
技術情報コード バージョン 対象プラットフォーム タイトル カテゴリ
WAVE-125 WAVE 共通 WindowsVista/7 WindowsVista/Windows7 での書体(文字)の扱い
書体
WAVE-113 WAVE 共通 OS 共通 作成した外字を文字入力用エディタで表示、プリントさせるにはどうすればよいでしょうか
書体
WAVE-112 WAVE 共通 OS 共通 TrueTypeやOpenTypeの外字作成はできるのですか。
書体
WAVE-090 WAVE 共通 OS 共通 欧文ハイフンのベースラインをあげるには 書体 WAVE-068 WAVE 共通 OS 共通 中国語はつかえますか。 書体 WAVE-067 WAVE 共通 OS 共通 韓国語はつかえますか 書体 WAVE-066 WAVE 共通 OS 共通 欧文BoldやItalicがフォント設定できない 書体 WAVE-065 WAVE 共通 OS 共通 欧文の追加をしたい 書体
WAVE-064 WAVE 共通 OS 共通 オープンタイプはCID(PS)の同名の書体と同じデザインでしょうか
書体
WAVE-063 WAVE 共通 OS 共通 オープンタイプの対応 書体
WAVE-026 WAVE 共通 OS 共通 RISARIPで電算のモリサワ書体及び外字をもっているのを使用できますか?
書体
WAVE-025 WAVE 共通 OS 共通 OCR-B書体の適正な級数をおしえてください 書体 WAVE-024 WAVE 共通 OS 共通 ビブロスフォントについて 書体 WAVE-145 WAVE 共通 OS 共通 ハイフネーションが効かない 設定
WAVE-144 WAVE 共通 OS 共通 データ加工/面付け/台割でファイル指定できない
設定
WAVE-114 WAVE 共通 OS 共通 WAVE起動後のメニュー設定方法。ユーザ様独自の設定を登録する方法の解説。
設定
WAVE-111 WAVE 共通 OS 共通 組版属性パネルで欧文ハイフネーションをONにしましたが効果がないのですが。
設定
WAVE-109 WAVE 共通 OS 共通 複数ファイル選択するとき選択順序とおりに処理されない。
設定
WAVE-101 WAVE 共通 OS 共通 スクリプトでCDFをセットする方法は 設定 WAVE-092 WAVE 共通 OS 共通 DWG上のDOTをAMIに変換したい。 設定
WAVE-091 WAVE2002/
2006 WindowsXP
画像配置・画層一括変更でボタンが黒くつぶれる
設定
WAVE-083 WAVE 共通 OS 共通 WAVEで使えないフォルダ名などあればおしえてください。
設定
WAVE-062 WAVE 共通 OS 共通 面付けはできるのですか 設定
WAVE-050 WAVE 共通 OS 共通 文字囲み設定などの登録の名前を'0'とするとダイアログの中に登録されない。
設定
WAVE-031 WAVE 共通 OS 共通 組版属性パネルについて設定を何通りか用意してきりかえたい。
設定
WAVE-030 WAVE 共通 OS 共通 WAVEを再インストール後の文字表示色の復元は可能ですか。
設定
WAVE-021 WAVE 共通 OS 共通 デジタイザでの位置合わせを毎回やり直すのが面倒です。また自動補正について。
設定
WAVE-132 WAVE 共通 OS 共通 CAD図面を【DWG属性の一括変更】→【字体を変更】すると寸法用の記号類が文字化けする
CAD データ
WAVE-161 WAVE 共通 OS 共通 簡易カレンダー(ダイアリー)で五週に30,31 日をいれるときには
オプションソフト
WAVE-146 WAVE 共通 OS 共通 郵便バーコードを入力したが、バーコードが欠落している。
オプションソフト
技術情報コード バージョン 対象プラットフォーム タイトル カテゴリ WAVE-159 WAVE 共通 OS 共通 AutoCAD Service Pack & パッチについて AutoCAD
WAVE-156 WAVE 共通 OS 共通 グリップ機能で沢山のオブジェクト選択しても一部表示できない。
AutoCAD
WAVE-155 WAVE2006 OS 共通 AutoCAD2006 インストールで「インストールは中止されました」となる。
AutoCAD
WAVE-142 WAVE 共通 OS 共通 オブジェクトスナップについて AutoCAD
WAVE-138 WAVE2006 OS 共通 起動時にエラーメッセージ:Fail to create CommCntrClientSink obj
AutoCAD
WAVE-123 WAVE 共通 OS 共通 マウスのホイールで画面ズームできない AutoCAD WAVE-118 WAVE 共通 OS 共通 LISPを学習する資料はありますか AutoCAD
WAVE-117 WAVE 共通 OS 共通 CADデータのように大きなサイズの図面を正確に尺度変更する方法。
AutoCAD
WAVE-116 WAVE 共通 OS 共通 テンプレートを作成するには。 AutoCAD
WAVE-105 WAVE2006 OS 共通 WAVE2006 でコマンドの表示が消えてしまった。
AutoCAD
WAVE-093 WAVE 共通 OS 共通 LWPOLYLINEとは? AutoCAD
WAVE-080 WAVE 共通 OS 共通 ペーパー空間からモデル空間にもどれないときは?
AutoCAD
WAVE-079 WAVE 共通 OS 共通 ファイル選択ダイアログが表示されない。 AutoCAD
WAVE-076 WAVE 共通 OS 共通 WAVEの図面を部品登録(WBLOCK)するとCDFの設定がないのですが。
AutoCAD
WAVE-072 WAVE2006 OS 共通 WAVE2006 を起動するときに時間が長くかかるのですが
AutoCAD
WAVE-070 WAVE 共通 OS 共通 WAVEでオーソライズエラーの表示がでました。対応方法を教えてください
AutoCAD
WAVE-059 WAVE 共通 OS 共通 図面中に %%U+ や、%%C などという文字があります
AutoCAD
WAVE-058 WAVE 共通 OS 共通 3次元CADデータはあつかえるのですか AutoCAD
WAVE-057 WAVE 共通 OS 共通 CAD図面に使われる画層や文字はWAVEでは出力できないのでしょうか。
AutoCAD
WAVE-036 WAVE 共通 OS 共通 AutoCADで作成されたDXF,DWGをWAVEに取り込みした際にスプラインが出力されない。
AutoCAD
WAVE-008 WAVE 共通 OS 共通 ツールバーが見えなくなりました。 AutoCAD
WAVE-008 WAVE 共通 OS 共通 ツールバーが見えなくなりました。-TOOLBARやMENUコマンドを実行しても表示されません。
AutoCAD
WAVE-007 WAVE 共通 OS 共通 図面を開いたときの表示範囲を設定できますか。
AutoCAD
WAVE-006 WAVE 共通 OS 共通 DWGやEPS出力にしたときデータサイズが異常に大きいのは何故?
AutoCAD
WAVE-005 WAVE 共通 OS 共通 コマンドラインがWindowから離れた。 AutoCAD WAVE-005 WAVE 共通 OS 共通 コマンドラインが見えなくなった。 AutoCAD
WAVE-002 WAVE2006 OS 共通 WAVEデータを別名保存するときと部品登録では違いがありますか。
AutoCAD
WAVE-001 WAVE2006/
10WAVE OS 共通
WAVE2006/10WAVEを起動するたびに図面修復のダイアログがでます。非表示にしたい。
AutoCAD
WAVE-153 WAVE 共通 WindowsXP ファイルを選択する時、ファイルの並び順の初期設定を変更したい
OS
技術情報コード バージョン 対象プラットフォーム タイトル カテゴリ WAVE-102 WAVE 共通 WindowsVista WindowsVistaへの対応は OS
WAVE-022 WAVE 共通 WindowsXP WindowsXPでAppleTalk対応プリンタへの出力は可能でしょうか。
OS
WAVE-009 WAVE 共通 OS 共通 ディスクトップ上にWAVEのショートカットがなくなった。
OS
WAVE-152 WAVE2009/
2010 WindowsVista/7
ファイル名を入力するときに、フルパスをコピー&ペーストするとWAVEがフリーズする
その他
WAVE-151 WAVE2009/
2010 WindowsVista/7
同名ファイルが存在しないのに「既に存在します。置き換えますか?」とメッセージボックスが表示される
その他
WAVE-121 WAVE 共通 OS 共通 WAVEのHELPを開く方法 その他
WAVE-088 WAVE 共通 OS 共通 「プロテクトエラー」のメッセージが表示されWAVEが起動できません。
その他
WAVE-056 WAVE 共通 OS 共通 Macでdwgをlzh圧縮した添付ファイルがひらけない
その他
WAVE-043 WAVE2002/
2006 OS 共通
WAVEの編集画面と出力で文字のサイズが異なる。旧データとはR12 バージョン以前のバージョンです。
その他
WAVE-042 WAVE2002/
2006 OS 共通
文字列の行末に・(中黒点)が出力される。旧データとはR12 バージョン以前のバージョンです。
その他
WAVE-041 WAVE2002/
2006 OS 共通
旧データ:全角-(ハイフン)が出力で化ける。旧データとはR12 バージョン以前のバージョンです。
その他
字間設定ファンクションで半角数字を詰めようとすると上手くいかないことがある 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
字間設定ファンクション(`B 数値文字`/`F 数値文字`/`P 数値文字`/`U 数値文字`/`A 数値文字`)で、半角の数字同士を詰めようとすると上手くいかないことがあります。 字間設定ファンクションコードは全角の1/64 を1 単位とし、数値部分を最大2 桁まで読み込みます。 ファンクション対象文字を1 ケタの半角数字にした場合、字間指定と組版する文字を誤認識されてしまいます。 このような場合ファンクションの数値部分を0 で埋めしてください。 例:「17」の「1」の後ろを3/64 詰めたい場合 ×`B31`7 ○`B031`7 先頭に0 をつけることで、問題を回避することができます。
行長フィットONで流し込みをした文字列の長さが指定どおりになりません。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
行長フィットON で流し込みをした文字列の長さが指定どおりになりません。 ボックスの領域に文字列が広がります。 文字位置を指定するさいに、BOX 領域(2 点指示を含む)を指示すると、行長指定は無視され、BOX 領域が優先される仕様になっています。 表組み中に、行長フィットの文字列を流し込む際は、以下のように操作をしてください。 ①5 番基点の場合 文字位置を指定するさいに、『bc(BOX・多角形の中央)スナップ』を使います。 ②5 番基点以外の場合 文字位置を指定するさいに、『座標の離れ量bc(BOX・多角形の中央)』を使いオフセット値を設定します。 ※『bc(BOX・多角形の中央)スナップ』と『座標の離れ量bc(BOX・多角形の中央)』はOSNAP ツールバーにあります。
組版できない JIS 基本漢字(JIS X 0208)について 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
WAVE では、シフトJIS コードに割り当てられたJIS 基本漢字(JIS X 0208)が、組版可能です。 ただし、例外として次に示す数学記号、ロシア文字、および罫線素片は組版ができません。 注 JIS 基本漢字(JIS X 0208)の詳細については、http://ja.wikipedia.org/wiki/JIS_X_0208 などを参照ください。
エリア組版のとき、一行目の文字にルビをつかう。ルビをエリアの外にだしたいときは 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
エリア組版の1行目のテキストにルビがあるときルビの分だけ本文の行が下(横組)や左(縦組)にずれて組版されます。 1行目にあるルビをエリア外に出すためには以下のファイルを作成してください。 作成ファイル名:hakoadd.dat 作成先:c:\wave3ai\フォルダ (WAVE がC ドライブのとき) 作成方法:メモ帳などのテキストエディタを起動し、1行目に TR:1 と記述し保存ファイル名をhakoadd.dat として保存します。 保存先フォルダをc:\wave3ai (WAVE がC ドライブのとき) としてください。 ルビをエリア内に入れる状態は ①hakoadd.dat がないとき。 ②hakoadd.dat の記述が TR:0 のとき のいずれかとなります。
合成文字を INSERT した場合に文字編集ができない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
WAVE プルダウンメニューで パーツ/配置/【合成文字等を維持したパーツ】パーツ登録(S テキスト対応)を実行して登録します。 INSERT するときはINSERT(S テキスト対応)を実行してください。
エリア組版とテンキー組で約物の文字間が異なることがある。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
【組版属性パネル】→【組版属性(マルチ専用)】→【重複約物半角変換】から約物を外す。 またはWAVE3AI\YAKUMONO.DAT から約物を削除します。 かな詰め書体ではエリア組版で約物は重複だけでなくすべて半角送りとなります。
エリア組版でシングルは実行されるがマルチだと実行不可なテキストがあります。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
テキストサイズの制限です。 一度のエリア組版(マルチ)の実行で流し込めるテキストファイルのサイズは約13kb から15kb までです。
コマンドライン上で、一時字体変更 < のファンクションコード変更方法は? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
コマンドで (SETQ FNC3_ "変更したい記号 ") と入力して変更します。
斜体の編集画面表示と出力が一致しません。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 組版・文字編集
マニュアルに明記してありますが上斜体と下斜体とは、出力は正常で画面表示が食い違います。
項目名で使用できない文字 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 自動組
自動組・自動表組では、組版に使用するデータ(テキスト、EXCEL、ACCESS 等)を取り込むことができます。 取り込んだデータは内部的にMDB(ACCESS データ)取り込まれます。 ACCESS の制限により、項目名(フィールド名)に以下の文字が含まれている場合エラーが発生します。 スペース
二重引用符 "
アポストロフィ '
アクセント記号 `
番号記号 #
パーセント記号 %
不等号 (より大) >
不等号 (より小) <
感嘆符 !
ピリオド .
角かっこ [ または ]
アスタリスク *
ドル記号 $
セミコロン ;
コロン :
疑問符 ?
キャレット ^
中かっこ ( または )
正符号 +
円記号(バックスラッシュ) \ テキストの区切りがセミコロンの場合 タブ記号
カンマ ,
(参考) http://support.microsoft.com/kb/826763/ja
自動表組のエラーが発生したときは。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 自動組
自動表組を実行すると毎回 c:\wave3ai\wave フォルダにwhyoumdb.mdb、および c:\wave3ai フォルダ にwhyoumdb.iniファイルが上書き更新されます。 この2ファイルを削除してください。
自動組でランタイムエラーが発生します。 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: 自動組
MDB をつかって自動組ページアップを実行するとWAVE 終了時にこのメッセージがでます。動作自体は影響ありませんが、エラーの原因が現在不明です。 WAVE2006Ver1.7 Rel3.16 以降ではこの現象は発生しません。
自動組の拡張定義をひらけません 製品名: WAVE
バージョン: WAVE2002 対象プラットフォーム: OS 共通 カテゴリ: 自動組
以下のレジストリの情報を変更します。 HKEY_CURRENT_USER/Software/VB and Vbsettings/DefAut レジストリ編集はお客さまの責任範囲でお使いください。また、レジストリを編集する前には、必ずバックアップを行ってください。 詳細はシンプルサポートダイアルにお問い合わせください。
自動組を実行しようとすると「実行時エラー5」などと表示されます。対処方法は 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 自動組
自動組を実行するときに毎回同じファイル名で上書き更新されるファイルが2つあります。このファイルを削除して自動組を実行してください。 (1) c:\wave3ai\wblkmdb.ini (2) c:\wave3ai\wave\wblkmdb.mdb ※C ドライブ以外にWAVE をインストールされているときはドライブ名を読み替えてください。
コマンド:モデルを再作図中 というメッセージがでたまま起動できなくなります。 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: 自動組
原因は自動組ページアップで多数ページの処理をしたときに発生します。 回避策1 WAVE 起動アイコンをダブルクリックして2個目のWAVE を起動してください。1個目のWAVE を終了させます。 回避策2 ページアップの実行では複数図面モードをさけて単一図面モードに切り替えます。方法は、WAVE のメニュー環境・AutoCAD 基本設定・システム・単一図面互換モードにチェックをいれてください。
DWG を開く際に画像パスを検索パスに置き換えをしないと、画像プレビューが表示されないケースがある 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 画像
DWG を開く際に画像パスを検索パスに置き換えをしないと、画像プレビューが表示されないケースがあります。 下の手順では画像プレビューが表示されません。 ① 画像配置済のDWG を開く ② 検索パスに置き換えをしない ③ 保存して閉じる ④ ③を開くときに、検索パスに置き換える 検索パスに画像ファイルは存在するのですが、画像プレビューが表示されません。 プレビュー画面や出力では正常に画像が出力されています。
対処方法
画像BOX で画像を選択し、何も変更せずにOK をクリックする。 この方法で、画像プレビューが正常に表示されるようになります。
配置画像のプレビューが見えなくなったとき。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 画像
WAVE のメニュー/環境設定/AutoCAD 基本設定/ファイル/サポートファイルの検索パス/の項目に C:\WAVE3AI\WAVE\WorkTiff のパスを追加し、AutoCAD のパスより上位に移動してください。
画像配置はどんな種類が可能ですか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 画像
JPEG、TIFF、BITMAP、EPS の4種類に対応しています。
イラストレータの EPS を下絵取り込みできません。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 画像
EPS ファイルが CMYK モードになっている場合・イメージモード RGB→インデックス→パレットシステム(Windows) 色数8bits/pisel(256 色)→複製保存TIFF にて保存してください。下絵取り込みを実行します。
特定の画層を非表示にして出力すると AMI 画層の濃度が変わることがある 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
1)現象
図面上にAMI 画層で作成した図形の他に、モノクロ濃度指定AMI_$10 画層で作成した図形などがあるとき、AMI_$10 画層を非表示にして SPF 出力、EPS 出力、PS 出力をすると AMI 画層で作成した図形が AMI_$10 の図形に変わって出力されてしまうことがあります。 WAVE2006,WAVE2009,WAVE2010 において発生します。
2)原因
非表示設定の画層を出力の対象外とする処理に不具合がありました。
3)影響範囲
①本現象は画層の非表示機能をつかった場合に発生します。フリーズあるいはWAVE の 表示切替/指示画層をOFF の機能を使うときはこのような現象は起きません。 ②AMI の色名指定では発生せずモノクロ濃度指定の画層を非表示にしたときに発生します。 ③AMI 以外のTEXT, POLY 画層についてはこのような現象は起きません。 ④SPF 出力、EPS 出力、EPS 部分出力、PS 出力、部分切出PS ファイル出力、色分解PS 出力に影響します。
4)修正の適用方法
シンプルサポートメールまたはシンプルサポートダイアルにお知らせください。
Quark 頁順変換 実行の途中で処理が止まる場合がある 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
ファイル名を含むフルパスの文字数が128 を越える場合、実行の途中で処理が止まります。 フォルダ名またはファイル名を短くしてください。
オープンタイプを使った縦組で括弧がずれる。半角英数字のベースラインが下がる。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
オープンタイプを使った縦組で括弧がずれる。半角英数字のベースラインが下がる。 WAVE のメニュー/データIN/OUT/出力オプション設定でTTF/OTF 埋め込み設定項目をTYPE1 からTYPE0 に変更してください。
横長のデータを出力すると右端しが印字されず欠けている。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
CTP やRIP への出力で、用紙サイズがA3、B2 など規格サイズ以外の用紙設定のとき 「*CUSTOM」や「その他」の設定を使うときは縦、横のサイズを入力するだけではなく、 □カスタムサイズ+90 の項目にチェックを入れてください。一度実行すると次の出力ではチェックの入った設定を維持します。 適用コマンド:WAVE 編集画面上からデータIN/OUT・PS&プリント出力、色分解PS&プリント出力、 およびSPF からのSPFPS 変換、色分解PS 出力 です。
配置画像が違う色でプリントされる。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
現象:うすい青色のPhotoshopEPS をWAVE に画像配置してカラープリンタでプリントするとうすいオレンジ色になる。 対処方法:作成した Photoshop のバージョンをかえてみてください。過去事例では Photoshop5.0 で作成したものをPhotoshopCS2 で開いて保存しなおしたところ問題が解消できました。
シングルクォートの字形について 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
独立欧文のシングルクォートの字形を、涙滴形の上下反転した字形から、おたまじゃくし形のしっぽ(ひげ)付きの字形に変換して出力することができます。 ●涙滴形の上下反転した字形
●しっぽ(ひげ)付きの字形
①「出力オプション設定」を起動する スタートメニュー>プログラム>WAVE2006 内にある「出力オプション設定」をダブルクリックします。WAVE が起動している場合は、「データIN/OUT メニュー」→「シングルクォート出力」を選択します。 ②ドロップダウンで「クォートライト(ひげ付)」を選択して、出力設定ダイアログを閉じます (「シングルクォート」を選択すれば、従来の涙滴形の上下反転した字形で出力されます。)
縦書きで字形が変わる全角記号について(TrueType、OpenType フォントの場合) 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
TrueType、OpenType フォントの場合も、出荷時の設定では縦書き時に字形が変わる全角記号はPostScript フォントの場合と同様です。字形が変わる全角記号については「WAVE-135 縦書き用に字形が変わる全角記号について(PS フォントの場合)」を参照してください。 ただし、TrueType、OpenType フォントは、フォント自身が縦書き用の字形を持っています。縦書き用の字形は、Windows に標準で付属している「ワードパッド」で@付きのフォントを指定して文字を入力すると確認できます。 次の設定を行うことで、縦書き時にTrueType、OpenType フォントの持っている縦書き用の字形を使用することができます。 ●実施する設定: c:\windows\wspfeps5.ini の「Spftops2」セクションに、次の「ttfTmode」エントリを追加する。 ttfTmode=0 従来どおり(PS フォントと同様の設定) ttfTmode=1 縦書きカナツメ時(書体番号1000 番台を使用時)だけ、全文字を縦書き用の字形(@付きのフォント)で出力 ttfTmode=2 縦書き時は全文字を縦書き用の字形(@付きのフォント)で出力 【「ttfTmode」エントリの例】 [Spftops2] : : AiVer=5 SQuote=0 JpegEps=0 TextExplodeMode=0 ttfTmode=2 注 「ttfTmode」エントリがない場合は、「ttfTmode=0」と同様の動作になります。出荷時の設定では「ttfTmode」エントリがない状態です。
縦書き用に字形が変わる全角記号について(PS フォントの場合) 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
PS フォントを使用している場合、縦書き時には次の全角記号は字形が変わります。
注※ 出荷時の設定ではアンダバーは出力されません。詳細は、技術情報「WAVE-119 全角アンダバーが出力されない。」を参照してください。 上記以外の全角記号は、縦書き時でも字形は横書きと同じです。
PS フォントで「漢字 3」領域の文字が出力されない 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
PS フォント(モリサワNewCID フォントなど)では、次に示すようなIME パッドの「漢字3」領域に文字が割り当てられていないために出力できません。
「漢字3」領域は、「NEC特殊文字」「NEC選定IBM拡張文字」「IBM拡張文字」と呼ばれる文字が割り当てられた領域です。 この「漢字3」領域は、シフトJISとして規格化された領域ではなく、Microsoft社がシフトJISを拡張した領域です。Microsoft社が拡張した「漢字3」領域を含むシフトJISコードは、「Microsoftコードページ932」「Windows-31J」などと呼ばれています。この文字コードの詳細については、http://ja.wikipedia.org/wiki/Microsoftコードページ932を参照ください。 Microsoft社による拡張領域である「漢字 3」領域は、機種依存文字なのでMacintoshでは使用できません。そのため、Macintoshで使用することを前提に開発されたPSフォントでは出力できません。 PSフォントではなく、TrueTypeフォントやOpenTypeフォントに書体を変更すればほとんどの文字が出力できます(一部の数学記号は、出力できません)。
WAVE から出力した EPS ファイルにフォントを埋め込むには 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
WAVE から出力したEPS ファイルにはOpenType フォント、TrueType フォントを埋め込めます。 「データIN/OUT メニュー」→「EPS」→「出力」または「部分出力」を選択します。 次のダイアログが表示されるので、「TrueType フォントを変換」にチェックを入れてEPS 出力を実行してください。 ●「データIN/OUT メニュー」→「EPS」→「出力」を選択した場合
●「データIN/OUT メニュー」→「EPS」→「部分出力」を選択した場合
補足
EPS ファイルに埋め込まれた OpenType フォント、TrueType フォントのフォント名は「出力オプション設定(EPS 共通)」の「TTF/OTF 埋め込み形式」の設定に依存します。「TYPE0」を選択した場合はPS フォント名、「TYPE1」を選択した場合はWAVEが生成するフォント名になります。
WAVE から PS ファイルを出力して PDF を作成する際の注意点 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
PS フォントを使用している場合、WAVE から出力されるPS ファイルにはPS フォントの字形データが含まれません。 そのため、使用しているPS フォントがないコンピュータでAcrobat Distiller を使いPDF を作成すると、PS フォントは別のフォントに置換されます。 一般的に、Windows に対応したPS フォント(ATM フォント)は存在しない場合が多いため、対応するPS フォントがインストールされているMacintosh でPDF を作成する必要があります。 なお、TrueType やOpenType については、PS ファイルに字形データが含まれるため、上記の注意点はあてはまりません。
オープンタイプの縦組で半角英数字のベースラインが下がる 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: 出力
WAVE でオープンタイプフォントを使い縦組した結果を出力した場合、半角英数字のベースラインが下がります。 全角英数字のベースラインは下がらないため、「出力オプション設定」で、出力データ中の半角英数字を全角英数字に置換して出力することができます。 置換して出力する場合は、次の操作をしてください。 ①「出力オプション設定」を起動する スタートメニュー>プログラム>WAVE2006 内にある「出力オプション設定」をダブルクリックします。WAVE が起動している場合は、「データIN/OUT メニュー」→「出力オプション設定(EPS 共通)」を選択します。 ②「縦組半角英数字」チェックボックスにチェックを入れた後、「OK」ボタンをクリックします。 (初期状態ではチェックされていません。)
オーバープリント設定しているのに,Acrobat で確認するとオーバープリントにならない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
WAVE 上ではオーバープリント設定になっているのに,PS 出力してAcrobat でPDF に変換したものを,Acrobat の「分版プレビュー」機能で確認するとオーバープリントにならないという現象が報告されています。 この現象は,あくまでもAcrobat 上で正しく(オーバープリントになっている状態で)表示されないだけのようです。 WAVE 上でオーバープリント設定になっていれば,WAVE からの出力機へのPS 出力,および,WAVE のPS ファイルをAcrobatで変換したPDF からの出力のいずれでも正しくオーバープリントされます。
小さい円を作図してプリント出力すると円にヒゲが発生する 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
直径数ミリくらいのちいさな円を作図するときまれにトンガリ(スパイク)が発生します。 対処方法 WAVE プルダウンメニュー・データIN/OUT・出力オプション設定・マイター の項目にある数値を変更します。 初期値は10ですが2~4に変更します。 マイター設定は図形のパスの2辺交差角度が狭くなるときのトンガリ(スパイク)が長くなるのを切り落とす度合いを数値で設定します。 数値が大きいときはトンガリが長くなり、数値が小さいときはトンガリを切り落とします。 円の図形では作図の始点と終点の接続点で円の直径が小さいときマイター設定の影響が発生します。
全角アンダバーが出力されない 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
出荷時の設定では,全角アンダーバーは出力されません。 全角アンダーバーを出力するには,次の操作を行ってください。 ①スタートメニュー>プログラム>WAVE2006 内にある「出力オプション設定」を起動する ②アンダーバー出力で「全角出力」を選択した後,「OK」ボタンをクリックする 以降,全角アンダーバーが出力されるようになります。
PS&プリンタ出力や SPFPS 変換実行をスクリプトでおこなう出力方法はありますか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
●用紙サイズFREE の設定でスクリプトによる出力に対応する方法について WAVE のHELP メニューにありますPS 出力の記述(MakePScript)を引用しております。 一番下の方に==========線以下の個所がありますが、 WAVE VER2.93 以降でMakePScript 関数をつかうときに3つの指定項目が拡張されました。 拡張された項目 ・ascii 変換(T:あり, nil:無し) 既定値 nil ・font を含む(T:あり, nil:無し) 既定値 T ・カスタムサイズ方向+90°(T:あり, nil:無し) 既定値 nil 今回のケースではFREE の設定ですが、カスタムサイズ方向+90 を T:あり に 指定することで対応できます。 スクリプト実行では明示的に指定をする必要があります。 ●変更記述例 変更前 (Setq name(Getvar"DWGNAME")) (setq name(splitpath name)) (setq name(nth 2 name)) (setq name(strcat "c:\\出力先フォルダ名\\" name ".ps")) (MakePScript name "*FREE" "c:\\Wave3AI\\Ppd\\Dstfj_14.ppd" "c:\\WAVE3AI\\sample.cdf" "EPS" T 1 nil 1 nil 0 0.0 0.0 1.0 1.0 1 nil 0 ) 記述変更後、MakePScript の記述末尾に nil T T の3つのパラメータを追加してください。 "c:\\WAVE3AI\\sample.cdf" "EPS" T 1 nil 1 nil 0 0.0 0.0 1.0 1.0 1 nil 0 nil T T) 明示的に指定することで90°回転してずれる現象は回避できます。 WAVE のHELP メニューから ( MakePScript ps page ppd cdf ext eflg pmode title ) ps PS ファイル名/出力するプリンタ名 "EPSON LP9000P2 F5" プリンタ名 "SMP.PS" PS ファイル名 page ページ名/カスタムサイズ "A4" '(230.0 187.5) カスタムサイズの場合は REAL のLIST ppd PPD 名 "c:\\wave3ai\\ppd\\ep90001.ppd"
cdf CDF ファイル名 "c:\\wave3ai\\test.cdf" ext 画像ファイルの拡張子 "EPS" eflg 画像ファイルの拡張子を指定する(T:する, nil:しない) pmode 画像のパスモード(1:LinkPath, 2:SearchPath) title ファイルタイトル(T:あり, nil:無し) 既定値 nil rotate 回転(0:自動, 1:0 度, 2:90 度, 3:180 度, 4:360 度) 既定値 0 posi ネガ/ポジ(T:ネガ, nil:ポジ ) 既定値 nil mirror ミラー(0:無し, 1:横ミラ ,ー 2:縦ミラー) 既定値 0 xp X 方向移動量 既定値 0.0 yp Y 方向移動量 既定値 0.0 xscale 尺度X 既定値 1.0 yscale 尺度Y 既定値 1.0 copies 出力枚数 既定値 1 dev 分割出力する( T:する, nil:しない ) 既定値 nil pile 分割時の重なり量 既定値 0 機能追加個所============================================= ・ascii 変換(T:あり, nil:無し) 既定値 nil ・font を含む(T:あり, nil:無し) 既定値 T ・カスタムサイズ方向+90°(T:あり, nil:無し) 既定値 nil ========================================================= 以上
DXFSPF変換でエラーが発生したときは。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
WAVE3AI¥WAVE¥tmpd.dxf ファイルをさがしてください。このtmpd.dxf を削除してください。 DXFSPF 変換時にtmpd.dxf がその都度更新されます。この更新が正常動作できないときに発生するエラーです。 削除すると新規に作成しますのでエラーが解消します。
PS プリンタやイメージセッター出力で PSError. と表示される。. 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
プリント出力時にデータが印刷されず欧文で PS エラー内容が印字されるときはそのメッセージにより、エラー原因を判定、現象の切り分けができることがあります。 Offending Command につづくエラー内容例 limit check InvaridFont TimeOut Image などがあります。
SVG出力のためのLISP関数はありますか 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
// SVG 出力LISP 関数.txt <書式> (MAKESVG <引数>) <引数> 文字列 // 出力パス 整数 // ZIP 圧縮(0:なし 1:あり) 整数 // エリア指定(0:フリー 1:外接矩形 2:box 矩形を利用しフィルタリングをする 3:box 矩形を利用しフィルタリングをしない) リスト(整数か実数 ×4)// エリア矩形 整数 // 画像パスの処理(0:画像を使わない 1:リンクパスを使用 2:検索パスを使用 3:リンクパスと検索パスを使用) 文字列 // 画像拡張子の指定 整数 // 埋め込み時の画質(0:高 1:中 2:低) 整数 // 画像解像度(0 だと解像度をそのまま保つ) 整数 // JPEG 特別処理(0:特別処理なし 1:そのまま埋め込む 2:相対パス 3:絶対パス) 整数 // フォント処理(0:通常 1:アウトライン化 2:フォント埋め込み) リスト(整数) // フォント除外番号リスト 整数 // ユーザー操作許可フラグ(0:不許可 1:許可) 文字列 // CDF 設定 <戻り値> 整数 0:正常終了, その他:エラー 出力パスのみ省略不可引数です。 その他の引数はCDF 設定を除きnil が指定されるとSPFSVG.EXE のINI ファイルの情報が使われます。 画像の拡張子などの文字列型の引数は 空文字列"" が指定をしないという意味になります。
フチの出力でひげ(スパイク)が出る。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
WAVE2002以降ではデータIN/OUT メニューの出力オプション設定(EPS 共通)を起動して、マイターの値を調整します。 マイター値の初期値は10です。数値を下げると図形の鋭角部分でひげ(スパイク)が発生します。数値を増やすと鋭角部分の先端が切り落とされます。 参考 マイター長設定。WAVE はポストスクリプトの仕様にあわせてマイター長の初期値を<10>,面取り角度を<11.4 度以下>に設定しています。ただし、マイター長を任意に設定することが可能です。出力オプション設定(EPS 共通)で4 と記述すればマイター長<4>,面取り角度<28.9 度以下>で出力します。 ※マイターとは:2本の太い線分がはさみ上に交差する角度が小さくなるとき、線分中心の交点から尖端のとんがりをどの程度できるかを決める値のことをマイター値という。WAVE では初期値が10。イラストレータ初期値は4。数値を増やすと鈍角になる。
優先順位とオーバープリントについて 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
同じ優先順位のものが重なったとき、どちらが上になるかは出力しないとわからないため重なる色アミ、文字などは優先順位を付けて下さい。 優先順位1と101は、優先順位としては同じです。101は優先順位が1でオーバープリントの指定となります。 優先順位のない図形、文字は優先順位ありのデータよりも優先度が高いです。 画像は優先順位がないときは優先順位のない図形、文字よりも優先順位が低いです。
画像を複数配置したがデータの一部の画像や文字などが出力されない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
ハードの空き容量の問題です。 PS 変換では1図面上にある全ての画像データの合計データサイズの5倍程度の余裕が必要です。 色分解では5倍をさらに4倍したデータ空間が必要です。
Facilis に PS を渡して面付けをしたい。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
データIN/OUT/PS&プリンタ出力とSPFPS 変換でPS ファイル作成をします。 出力位置にトンボサイズ分のマイナス値を設定してください。
SPFPS 変換の実行できない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
c:\wave3ai\wave\TMPD.DXF を削除してください。 WAVE が行う変換(DXF、SPF、EPS、PS)は作業中に一時的に生成するファイル=テンポラリファイルを作ります。 変換の都度毎回同名で上書きを繰り返します。 変換時にエラーが発生するときはc:\wave3ai\wave\フォルダにあるTMPD.pr TMPD.dxf TMPD.spf TMPD.eps TMPD.cdf などのファイルを 他のフォルダに移動するか削除して再実行してみてください。 ※C ドライブ以外にWAVE をインストールされているときはドライブ名を読み替えてください。
イメージセッターに出力する。網形状は DOT/ELLIPSE/LINE とあるが、どれにしたらよい? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
DOT にしてください。
出力センターへの依頼方法で膜面下の指定をするには? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
ミラーで横反転/縦反転の指定をすれば、出力センターへは膜面の指定をする必要がありません。 フイルムは紙と違い透明なので印字面をフイルムのどちら側にするか指定できます。 反転とミラーとは同じ指示内容です。
画像が出力されない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
対処1 画像パスを選択していないことが原因です。【表示画像のパスを使用】または【検索パスを使用】のどちらかを選択してください。 【検索パスを使用】を選択している場合は、【選択パス設定】に WAVE に取り込んだ画像ファイルが格納されているフォルダを追加します。 【選択パス設定】に設定されてあるフォルダに、同名の画像ファイルが複数存在する場合、上位に設定されているフォルダの画像ファイルを出力します。 【選択パス設定】の順番を変えて出力したい画像フォルダを上位にしてください。 対処2 PS&プリンタ出力のダイアログにある「拡張子を指定」にチェックをいれるとEPS など記入が空白のときは画像が出力できません。 「拡張子を指定」のチェックはEPS、JPEG、TIF、BMP など混在しているときにEPS のみを指定したいときに使います。 拡張子はピリオドをいれないでください。
プリンタを新規購入しました。PPD ファイルの入手方法をしりたい。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
プリンタメーカーのHomePage で大抵はダウンロードができます。PPD と明記していないときでもプリンタドライバならダウンロードできます。 プリンタドライバをインストールするとPPD は以下のフォルダに入ることが多いです。 C:\WINDOWS\system32\spool\drivers\w32x86\3 この中にある拡張子PPD をc:\wave3ai\PPD フォルダにコピーしてください。
A3 ノビ対応のプリンタなのに、A3 ノビを設定できない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 出力
適合するPPD ファイルをWAVE3AI\PPD フォルダにコピーしてください。 MicroLine の場合は、A3 ノビを有効にするようにプリンター側の設定が必要です。プリンタのマニュアルをご覧ください。
全角記号のウエイトが Light でも Heavy でも同じ文字種について 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
書体メーカーによりますが全角記号では、Light でもHeavy でも太さが同じとなる字形があります。 全角記号の「スラッシュ /」は ●分数で使用される際にウエイトによって太さが変わることを避けるため ●分数の組文字(「1/2」などが一文字となっている文字種)とのデザインを合わせるため モリサワ書体では全ウエイト同じ太さに統一しています。 全角記号「しかく□」や「まる◯」も、丸付き数字などの字形とデザインを揃える為に、モリサワ書体では全ウエイト同じ太さに統一しています。 モリサワではこういった文字種は、あくまで記号として捉えており、ウエイト変化に関係する文字種ではないと位置づけています。 同じような考え方の文字種は、「やじるし →」「おんぷ♪」「二重カギ括弧『』」などがあります。 このようにモリサワでは記号と位置付けられる文字については、線の太さが一定です。 ただし全角記号の×や÷は同じ太さではなくボールドならそれなりに太くなります。 ほかの書体メーカーではスラッシュもウエイトに応じて太さが変化します。
フォント設定ツールの起動時に「ファイルを読み込みエラー」が発生します 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
フォント設定ツールは、起動時に WAVE のフォント情報を設定したファイル(psfont.dat、psnim5.dat、ftreal.dat、ttfont.dat、acttf.dat)を読み込みます。ファイルが制限行数を超えていた場合、エラーが発生します。 どのファイルがエラーになったのかは、エラーダイアログに表示されます。 表示される内容は次のとおりです。 C:\Wave3AI\psfont.dat ファイルを読み込みエラー。 →書体番号設定の数が700 以上設定されています。 C:\Wave3AI\psnim5.dat ファイルを読み込みエラー。 →書体別調整設定の数が502 以上設定されています。 C:\Wave3AI\ftreal.dat ファイルを読み込みエラー。 →書体番号設定の欧文アウトラインファイル・和文アウトラインファイルの数が502 以上設定されています。 C:\Wave3AI\ttfont.dat ファイルを読み込みエラー。 →書体番号設定の和文True タイプ・欧文True タイプの数が502 以上設定されています。 C:\Wave3AI\acttf.dat ファイルを読み込みエラー。 →TTF 書体調整のTrueType 書体名の数が502 以上設定されています。 それぞれのファイルをメモ帳等エディタで開き、制限行数以下に変更してください。
合成フォントはできますか?そのとき欧文を級上げできますか? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
欧文(1 バイト)用と和文(2 バイト)用に異なるフォントを組み合わせて使用する、いわゆる「合成フォント」は、フォント設定ツールの書体番号の設定で欧文用と和文用のフォントに異なるフォントを指定することで実現できます。 ただし、組み合わせるフォントのタイプ(PostScript、TrueType、OpenType)は、欧文用と和文用で統一することを推奨します。 特に、PS フォント使用する場合は、組み合わせるフォントも必ずPS フォントにしないと、出力できません。 なお、欧文級上げには対応していません。
欧文括弧のベースラインを下げるには 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
出荷時の設定で,欧文括弧(半角括弧)は他の文字に比べて10%上に組版されるように設定されています。 括弧の位置を下げるには,フォント設定ツールで設定を変更します。 ①スタートメニュー>プログラム>WAVE2006 内にある「フォント設定」を起動する ②書体別調整設定タブを選択する ③「正式書体名」列から位置を下げたいフォントを選択する。 ④選択したフォントの「括弧ベースライン」列の値を変更した後,「登録終了」ボタンをクリックする。 注意 WAVE を起動していた場合は,再起動後に設定が反映されます。 「10」が設定されている場合は10%上に組版されます。値を小さくすれば,組版位置が下がります。
欧文カンマのベースラインを下げるには 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
出荷時の設定で,欧文カンマ(半角カンマ)は他の文字に比べて10%上に組版されるように設定されているためです。 カンマの位置を下げるには,フォント設定ツールで設定を変更します。 ①スタートメニュー>プログラム>WAVE2006 内にある「フォント設定」を起動する ②書体別調整設定タブを選択する ③「正式書体名」列から位置を下げたいフォントのPS フォント名を選択する。 ④選択したフォントの「カンマベースライン」列の値を変更した後,「登録終了」ボタンをクリックする。 注意 WAVE を起動していた場合は,再起動後に設定が反映されます。 「10」が設定されている場合は10%上に組版されます。値を小さくすれば,組版位置が下がります。
WindowsVista/Windows7 での書体(文字)の扱い 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: WindowsVista/7 カテゴリ: 書体
WindowsVista/Windows7 での書体の運用についてこれまでのWindows2000、XPとどのようにかわるのか資料をこちらからダウンロードしてください。
作成した外字を文字入力用エディタで表示、プリントさせるにはどうすればよいでしょうか 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
外字コピー屋さんというフリーソフトがあります。 外字コピー屋さん にアクセスしてください。
TrueType や OpenType の外字作成はできるのですか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
有料ソフトでインターネットからダウンロードして使うことができます。
欧文ハイフンのベースラインをあげるには 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
フォント設定ツールを起動します。書体別調整設定タブを開きます。 書体名ごとに各種設定ができます。 ハイフンのほか、カンマ、ピリオド、カッコ、縦組みのベースライン、和文、欧文のベースラインも調整可能です。
中国語はつかえますか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
中国語用フォントではShiftJIS 対応のTrueType 商品がありません。 ユニコード対応の中国語OpenType での商品は現在対応できません。
韓国語はつかえますか 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
使用可能です。韓国語用のTrueType が販売されています。 TrueType であれば使用可能でフォント設定プログラムで追加が可能です。
欧文 Bold や Italic がフォント設定できない 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
TrueType 書体及びOpenType 書体ではフォント設定で追加が可能ですがArialBold ArialItalic などBold およびItalic の書体はフォント設定プログラムでは認識されません。 フォント作成ツールなどでフォント名をBold からFuto、Italic からSha というように変更することでフォント設定プログラムで認識できます。
欧文の追加をしたい 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
欧文のPostScript フォント(いわゆるType1 フォント)の追加は、弊社サポートにご連絡ください。 ユーザ様で追加されるときは、 ①欧文書体の正式書体名 ②その書体の各文字ごとのピッチ情報 ③WAVE でのストロークフォントの作成 等の作業が必要です。 TrueType 書体及びOpenType 書体ではPS 書体の追加より簡便にフォント設定で追加が可能です。 WAVE プルダウンメニュー HELP/外字とフォント設定 をクリックしてください。 PS 書体、TrueType 書体、OpenType 書体での欧文追加方法を解説しています。
オープンタイプは CID(PS)の同名の書体と同じデザインでしょうか 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
CID(PostScript 書体)とオープンタイプ書体との互換性はありません。 書体名がCID とオープンタイプで共通でも文字のデザイン、ピッチなどがちがいます。 WAVE で作成したCID 書体のリュウミンを使ったデータをオープンタイプリュウミン書体におきかえると行長などが変わります。 詳細はフォントメーカーにお問い合わせください。
オープンタイプの対応 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
WAVE2006Ver1.7 Rel1.6 ではオープンタイプ書体に対応しています。使える文字種はSJIS の範囲です。SJIS の範囲を越えるものは使えません。モリサワ、フォントワークスについては書体環境のご用意が可能です。 EPS 出力では以下の制限があります。 IllustratorCS2 でEPS を開くときに「更新」をして開きますが、文字列は1文字ごとに分解されます。 Illustrator での文字編集は困難です。
RISARIP で電算のモリサワ書体及び外字をもっているのを使用できますか? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
外字は `X `で入力します(X は大文字)。 書体 DAT,PIT に登録してテストしてみます。 欧文のPIT テーブルに登録する必要が有ります。 詳細は弊社サポートにお問い合わせください。
OCR-B 書体の適正な級数をおしえてください 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
写研のOCR-B では20 級が基準ですが、ビブロス社とAdobe 社のOCR-B では仮想枠上のプロポーション、文字ピッチが異なります。 OCR-B フォントはJIS 規格により、大きさが3 種類あり、文字高さが、2.4 3.2 3.6 の3つの方法が使われます。これを級数に換算すると、16、21、33、24 級となります。
ビブロスフォントについて 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 書体
ビブロスは商品が多種類あります。ビブロスフォントHPをご覧ください。 書体の種別ではCIDとOpenTypeの区別があります。 WAVEではCID対応のための書体環境を書体番号900 番台で設定しています。ここでの追加も可能です。 OpenType用ビブロス外字セットはCIDとの互換性がありません。外字の文字コードが従来のF040~のものがOpenType用ではE040~となっていますのでご注意ください。
ハイフネーションが効かない 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
WAVE の組版属性設定パネル・組版属性(マルチ専用)・自動分離禁止 の設定を欧文を含む設定にしてください。
データ加工/面付け/台割でファイル指定できない 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
現象:台割を作成するためファイルを指定しようとしても指定できない。 対処方法:データ加工/面付け/台割を実行してダイアログをひらきます。 面付けファイルの「表」と「裏」のDWG を指定します。 ページ数を必ず入れます。入力後リターンをします。 リターンしないときは台割実行ができませんのでご注意ください。
WAVE 起動後のメニュー設定方法。ユーザ様独自の設定を登録する方法の解説。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
AutoCADインストール直後はAutoCADのメニューが表示されています。 WAVEでの基本設定を行います。またメニューや操作環境をユーザ様の運用にあわせて変更したときの状態を登録することができます。 複数台数でのWAVEの運用で環境を統一できます。 WAVE2006 インストレーションガイドをご覧ください。
組版属性パネルで欧文ハイフネーションをONにしましたが効果がないのですが。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
→組版属性パネルで、自動分離禁止を欧文で設定し、ハイフネーションをON にします。 自動分離禁止は欧文を含む設定を必ずしてください。
複数ファイル選択するとき選択順序とおりに処理されない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
WAVEで複数ファイルを取り込むコマンドがあります。 データIN/OUTのDXF開く、SPF連続取り込みなどです。 先頭にしたいファイルをマウスクリック後Shiftキーを押して最後のファイルを選択すると、最後に選択したファイルが先頭にきてしまいます。 WAVEに限らない現象です。指定順序とおりにするにはファイル名表示を詳細にしてマウスドラッグします。
スクリプトで CDF をセットする方法は 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
(importCDFRecord cdfname [flag]) cdfnama:CDF ファイル名 flag(省略可):T 追加 nil 新規(既定値) 記述例 (importCDFRecord "sample.cdf")
DWG上のDOTをAMIに変換したい。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
プログラムを用意しています。 お問い合わせください。
画像配置・画層一括変更でボタンが黒くつぶれる 製品名: WAVE
バージョン: WAVE2002/2006 対象プラットフォーム: WindowsXP カテゴリ: 設定
Windows のデスクトップ上でマウス右クリックします。プロパティを開いてデザインタブを表示させます。 ウィンドウとボタン項目をWindowsXP からWindows クラシックスタイルに切り替えてください。これで黒くなる現象を回避してください。
WAVEで使えないフォルダ名などあればおしえてください。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
基本的には Windows で使用できない半角記号類の一部ですが、それ以外に文字図形置換機能をつかうときの設定ファイル、置換元の図形データ用フォルダ名には全角記号類を避けてください。Ⅰ、Ⅱ、Ⅲ、ⅰ、ⅱ、ⅲなどのローマ文字、ほか記号類(ユニコード2000 番台の記号類)。
面付けはできるのですか 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
WAVE プルダウンメニューでデータ加工・面付け の機能があります。 表と裏のページが各種面つけに対応する台紙DWG を定義実行で自動作成します。 あとは単一ページを順番に読み込んで面つけを実行します。中綴じ、見開きに対応しています。
文字囲み設定などの登録の名前を'0'とするとダイアログの中に登録されない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
0 はデフォルトの設定としてプログラム側で使用しているので、ユーザーは使用不可です。
組版属性パネルについて設定を何通りか用意してきりかえたい。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
組版属性パネルでは設定値を登録することができます。 組版属性パネルで登録した設定は開いている図面に保存することも、指定した図面に保存することもできます。 また他の図面で登録した設定を取り込むことができます。
WAVE を再インストール後の文字表示色の復元は可能ですか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
文字表示色の設定情報としてWAVE3AI\WAVE\CORROR_P.DAT またはCORROR_P.LSP のファイルがあれば復帰は可能です。 WAVE2006 以上ではバックアップツールをご提供しています。これを使うとWAVE で使う書体環境、WAVE での登録済みの情報、などのバックアップが効率よくできます。SETUP CD にインストーラ、マニュアルPDF があります。内容をご確認ください。
デジタイザでの位置合わせを毎回やり直すのが面倒です。また自動補正について。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: 設定
電源を一度でも切ると再設定が必要です。また、補正能力については原紙の寸法の伸縮が激しいものは、WAVE 単位設定の基準に近い方にOSNAP されてしまいます。よって原紙自体が精度が低いと補正の範囲を越えてしまいます。 WACOM のような汎用デジタイザではあくまで補助的活用道具と考えるほうがよいかと思います。
CAD 図面を【DWG 属性の一括変更】→【字体を変更】すると寸法用の記号類が文字化けする 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: CAD データ
対処方法は Wave3AI\WAVE フォルダに、メモ帳等のエディタでWAVE_JT.dat ファイルを作成します。 記述する内容 (CAD の接頭表記・接尾表記):(置換文字) ※アルファベットの大文字と小文字は区別されますので両方設定してください。 (記述例) %%C:φ %%c:φ %%D:° %%d:°
簡易カレンダー(ダイアリー)で五週に 30,31 日をいれるときには 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: オプションソフト
ダイアリーオプションの簡易カレンダー機能では台紙を用意して日付けの文字を「D」として配置します。 5 段用台紙・6 段用台紙1・6 段用台紙2 の3 種類を用意する場合、6 段用台紙1 の31 日、6 段用台紙2 の30 日・31 日に当たる部分を5 段に入れるために文字サイズを小さくします。
●日付が正しく組版される事例●
6 週目の30 日・31 日にあたる「D」の文字位置は、5 週目の「D」より低い位置に配置してください。 「D」のY 座標をプログラムが判断して、日付の流しこみを行います。 【台紙イメージ】
【組版イメージ】
●5 週目と 6 週目の日付がずれる事例●
6 週目の30 日・31 日にあたる「D」の文字位置が、5 週目の「D」より高い位置にあると日付の並びがずれてしまいます。
【台紙イメージ】
【組版イメージ】
郵便バーコードを入力したが、バーコードが欠落している。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: オプションソフト
OSNAP を解除してください。
AutoCAD Service Pack & パッチについて 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
AutoCAD のサービスパック、パッチ類はAutoDesk 社のダウンロードサイトから入手してください。 ただし、以前のバージョンについてはリンクが外されておりますが、弊社で取り置きをしておりますので製品サポートまでお問合せください。 http://www.autodesk.co.jp/adsk/servlet/index?siteID=1169823&id=6851862&linkID=14165136
※注意 1
サービスパックを適用することで、AutoCAD 基本設定が初期設定に戻されてしまう場合があります。初期設定に戻されると、メニューがAutoCAD の画面になり、サポートファイルの検索パスからWAVE の設定が消えてしまいます。 あらかじめ設定(プロファイル)を保存することをお勧めします。プロファイルはAutoCAD が同じバージョンであれば、他の端末でも利用することができます。 違うバージョンのプロファイルを読み込んだ場合、動作が不安定になりますのでご注意ください。 【手順】 1. メニューバー【環境】→【AutoCAD 基本設定】→【設定パネル開く】をクリックします。またはコマンドラインに optionsと入力しリターンキーを押します。 2. 【プロファイル】タブを開きます。
3. 書き出しボタンをクリックし、ファイル名を付けて任意のフォルダに保存します。ARG ファイルが保存されます。 4. サービスパックの適用後WAVE を起動し、AutoCAD 基本設定が初期化されていない場合はそのままご使用ください。 5. 初期化された場合は、1.2.の手順で基本設定画面を開き、読み込みボタンをクリックし3.で保存したARG ファイルを読み込みます。適用して閉じます。 6. 利用可能なプロファイルに5.で追加したプロファイル名が表示されているので、プロファイル名をダブルクリックします。
7. OK をクリックして終了です。
※注意 2
サービスパックのインストール中に、AutoCAD のインストールCD が必要な場合があります。
グリップ機能で沢山のオブジェクト選択しても一部表示できない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
グリップ機能で沢山のオブジェクト選択しても一部表示できない。
【1】原因
AutoCAD の初期設定によります。 システム変数と呼ばれるAutoCAD の設定値を変更することで対処可能です。 WAVE2006 以降が対象になります。
【2】仕様
gripobjlimit システム変数の仕様 タイプ:整数 保存先:レジストリ 初期値:100 最初の選択セットに指定した数よりも多くのオブジェクトが含まれている場合、 グリップを非表示にします。 有効な値の範囲は 1~32,767 です。 1 に設定した場合、複数のオブジェクトを選択するとグリップは表示されません。
【3】対処方法
WAVE での設定方法(一度設定すればその後も維持します)。 WAVE を起動し、画面左下 コマンド:GRIPOBJLIMIT (小文字でも可)と入力してリターン GRIPOBJLIMIT の新しい値を入力 <100>: と表示されるので1~32,767 の間で数値を入れます。 10000 を入力してみると GRIPOBJLIMIT の新しい値を入力 <100>:10000 でリターン これでグリップの数が10000 までは表示可能となります。
AutoCAD2006 インストールで「インストールは中止されました」となる。 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
AutoCAD2006 インストールで「インストールは中止されました」となり、インストールすることが出来ない。
【原因】
Microsoft .NET Framework 2.0 および Microsoft .NET Framework 2.0 日本語 Language Pack がインストールされていて、かつMicrosoft .NET Framework 1.1 がインストールされていない環境で本現象が発生します。
【回避方法】
1) AutoCAD 2006 の CD-ROM の \Bin\acadFeui\support\dotnetfx\dotnetfx.exe を実行し、 Microsoft .NET Framework 1.1 をインストールします。 2) AutoCAD 2006 をインストールします。
オブジェクトスナップについて 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
オブジェクトの正確な位置を指示するために、オブジェクトスナップを使用します。 アイコンメニューではONSNAP ツールバーに格納されています。 このオブジェクトスナップはいろいろなシーンで使用します。 例えば、移動の基点や目的点、テンキー組の文字位置など。 代表的なオブジェクトスナップモードには、端点(END)・交点(INT)・中点(MID)・文字原点(INS)があります。 点を指示するようなシーンで、オブジェクトスナップの設定があれば、マウスをオブジェクトに近づけてクリックすると、その点に吸着されます。 オブジェクトスナップには2 種類あります。 ①定常オブジェクトスナップ ②一時オブジェクトスナップ それぞれに特徴がありますので、状況に応じて使い分けることが、作業効率UP への近道になります。 ①定常オブジェクト スナップ ONSNAP ツールバーの【O スナップ解除】【O スナップ固定】です。 一度設定をすると、解除するまで設定が継続します。複数のオブジェクトスナップモードを設定することが可能です。 ただし、定常オブジェクトスナップモードを設定しすぎると、吸着可能な点がたくさん出現します。例えば定常スナップに端点と中点と近接点を設定していると仮定します。図形の状態によっては中点か近接点の判断がつきにくい場合があります。 また、自動組の組版実行、自動表組実行など、自動処理を実行するときに、組版されている文字列やINSERT される図形などが、定常オブジェクトスナップに吸着されてしまい、自動処理の結果がくずれてしまう、という現象がおこることもあります。 ②一時オブジェクトスナップ ONSNAP ツールバーの【O スナップ解除】【O スナップ固定】以外です。 コマンド実行の前に、設定することはできません。コマンド実行中に点を指示するようなシーンで、使用できるオブジェクトスナップモードはひとつだけです。 また、一度点を指示すると解除されます。 ただし、いろいろなオブジェクトスナップモードを使い分けするような作業の場合は有効な手段です。
起動時にエラーメッセージ:Fail to create CommCntrClientSink obj 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
AutoCAD のレジストリ情報が壊れています。 AutoCAD のインストールCD を使ってAutoCAD を「修復」インストールしてください。 「修復」インストールすると、メニュー類が WAVE インストール直後の状態に戻る場合があります。そのときは、WAVE のインストールガイドの「WAVE2006 のメニューを読み込む」を参照して、再設定を行ってください。
マウスのホイールで画面ズームできない 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
マウスのホイールでズームやPAN(画面移動)ができなくなったときはAutoCAD のシステム変数で切り替えます。 対処方法 コマンド:mbuttonpan でリターン コマンド: mbuttonpan MBUTTONPAN の新しい値を入力 <0>: 1 半角数字1を入力しリターンします。
LISP を学習する資料はありますか 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
勉強会資料をご覧ください。
CAD データのように大きなサイズの図面を正確に尺度変更する方法。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
CAD データでは図面の天地サイズが10メートルを超えるものがたくさんあります。 建築系CAD は原寸の数値で製図をおこないます。 WAVE で商業印刷向けサイズに尺度変更するときは尺度変更(SCALE)コマンドを使いますが、 R/参照の機能を利用すると効率よく正確に尺度変更できます。 例 図面X サイズ85000mm Y サイズ43000mm の図面をA3 横サイズに尺度変更するとき。X サイズ85000mm を420mm(A4横サイズ)にしてみましょう。 尺度変更コマンドを実行するか、コマンドラインで コマンド: _scale (リターン) オブジェクトを選択: 認識された数: 1 オブジェクトを選択: (対象図形をすべて選択します) 基点を指定: int どこの (図形左下交点を指定) 尺度を指定 または [コピー(C)/参照(R)] <1.0000>: R (ここでR と入力) 参照する長さを指定 <1.0000>: 85000 (図面のX サイズを入力) 新しい長さを指定 または [点を指定(P)] <1.0000>: 420 (尺度変更後のX サイズを入力)リターンすると X 85000mm のデータが420mm のサイズに尺度変更されます。 図面のX サイズはWAVE プルダウンメニュー・情報/位置情報(ID コマンド)で図面データ右端部分の端点や交点を指示すれば正確にわかります。 例 コマンド: '_id 点を指定: int (交点を指示) どこの X = 420.0000 Y = 212.4706 Z = 0.0000 これでX の座標値がわかります。
テンプレートを作成するには。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
WAVE ではあらかじめ必要な設定:色定義 CDF の設定、決まったサイズのトンボ、使う字体、アミや線種をトンボ外に配置しておき簡易定義ですぐつかえるようにするなどをテンプレート=DWT ファイルとして保存できます。 テンプレートをひらくと名前のない DWG ですので上書きの心配がなくテンプレート図面で行った作業の続きから開始することができます。
WAVE2006 でコマンドの表示が消えてしまった。 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
コマンドライン左端をダブルクリックすると浮動状態となる。さらに浮動のダイアログの×点をクリックすると CTRL+9で回復とあるが、回復できなかった。 対処方法:F2 キーを押してテキストウインドウを表示させる。「commandline」と入力することで回復する。 オ ー ト デ ス ク に よ る と 、 C:\Documents and Settings\ ロ グ イ ン 名 \Application Data\Autodesk\AutoCAD 2006\R16.2\jpn\Support\Profilesの配下にFixedProfile.awsというファイルがあり、CAdUiDockControlBar Orientation="-1"の値を1 にする。マイナスは浮動の設定値。
LWPOLYLINEとは? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
AutoCAD2000 バージョン以降は、ポリラインの種別が1つ増えました。LWPOLYLINE というもので、LightWeghtPolyline の略です。従来のはHWPOLYLINE(HeavyWeightPolyline の略)となります。 WAVE での運用上は後者となります。ポリラインをつかうときに情報を軽くするために LWPOLYLINE が増えていますが、HWPOLYLINE との有意な差はありません。
ペーパー空間からモデル空間にもどれないときは? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
コマンド:tilemode と入力しリターンします。半角数字1を入力してリターン。これで復帰します。
ファイル選択ダイアログが表示されない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
コマンド:filedia と入力しリターン。半角数字1を入力してリターン。これでファイル選択ダイアログが表示されます。 ファイル選択ダイアログが開かない原因として、WAVE のコマンド実行中に ESC キーでキャンセルするときにこうなる可能性があります。
WAVE の図面を部品登録(WBLOCK)すると CDF の設定がないのですが。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
CDFがはずれる現象は部品登録機能(WBLOCK)の制限です。
WAVE2006 を起動するときに時間が長くかかるのですが 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
●インターネットに接続できない環境にて AutoCAD を起動した場合、起動に数分時間がかかることがあります。 【回避方法】 【Windows 2000 の場合】 _1) コントロール パネルを開く。 _2) 「インターネット オプション」アイコンをダブルクリックする。 _3) 「インターネットのプロパティ」ダイアログで「詳細設定」タブを選択する。 _4) 「設定」の一覧にある「セキュリティ」-「発行元証明書の取り消しを確認する」のチェックを外す。 _5) 「適用」ボタンをピックする。 _6) AutoCAD を起動する。 【Windows XP の場合】 _1) コントロール パネルを開く。 _2) 「ネットワークとインターネット接続」をピックする。 _3) 「インターネット オプション」をピックする。 _4) 「インターネットのプロパティ」ダイアログで「詳細設定」タブを選択する。 _5) 「設定」の一覧にある「セキュリティ」-「発行元証明書の取り消しを確認する」のチェックを外す。 _6) 「適用」ボタンをピックする。 _7) AutoCAD を起動する。 上記設定を行っても変化が見られない場合、以下の内容もご確認ください。 【Windows 2000、XP の場合】 _1) コントロール パネルを開く。 _2) 「インターネット オプション」アイコンをダブルクリックする。 _3) 「インターネットのプロパティ」ダイアログで「全般」タブを選択する。 _4) 「インターネット一時ファイル」項目にある「Cookie の削除」および「ファイルの削除」をクリックしファイルを削除する。 _5) 「OK」ボタンをピックする。 _6) AutoCAD を起動する。
WAVE でオーソライズエラーの表示がでました。対応方法を教えてください 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
オートデスクユーザ登録センターでは各種申請ができます。 ユーザ登録申請書・アクティベーションコード発行依頼書をダウンロードできます。 オーソライゼーションコード再発行申請書をダウンロードできます。 インターネット上からの申請もできます。オンラインでのユーザ登録とアクティベーションコードの取得をご覧ください。
図面中に %%U+ や、%%C などという文字があります 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
AutoCAD での「特殊文字」のことで、製図で使われる直径記号などがあります。 WAVE での対応方法 WAVE3AI\WAVE フォルダ直下にWAVE_JT.DAT というファイルをエディタで作成します。 WAVE_JT.DAT の機能=CADのファンクション文字を置換。 使うコマンドは 【DWG 属性の一括変更】-【字体を変更】を実行します。 CADファンクションが出力できます。 コロン:をはさんで左がCAD ファンクション、右が出力できる特殊文字です。 WAVE_JT.DAT の1行目から以下のように記述します。 %%C:φ (直径記号) %%c:φ (直径記号) %%D:° (度記号) %%d:° (度記号) %%U+2605 (ユニコード文字列)
3次元 CAD データはあつかえるのですか 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
出力は対応していません。
CAD図面に使われる画層や文字はWAVEでは出力できないのでしょうか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
文字はそのままでは編集、出力ができません。WAVE プルダウンメニューのデータ加工・DWG 属性一括変更・テーブル設定・字体名対応テーブルでWAVE で使える書体番号に変換設定を行い、変換実行で字体変更を行います。 CAD でつかわれる画層名はWAVE にない画層名がつかわれています。WAVE 独自の画層名によって出力を制御しています。 WAVE で設定できない画層名の線分オブジェクトは一律で0.1mm の罫線で出力されます。 詳細はシンプルサポートダイアルへお問い合わせください。
AutoCAD で作成されたDXF,DWG をWAVE に取り込みした際にスプラインが出力されない。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
WAVE2002 以上ではDWG 属性一括変更機能を使い、スプラインをPOLY に変換して出力に対応しています。 AutoCAD R13 形式以上でiWAVE2000 までの場合の対処方法は、R12 形式で保存する。保存後、SPLINE 部分をLIST で確認するとポリラインに変わります。閉領域の場合は、閉図形作成(BPOLY)で閉領域を取ると出力可能です。
ツールバーが見えなくなりました。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
対処1 コマンド入力。コマンド:-TOOLBAR と入力します。All→S 対処2 MENU コマンド入力。コマンド:MENU 【ファイルの種類】を MNU にしてからファイルを選択し、メニューファイルをロードしてください。
ツールバーが見えなくなりました。-TOOLBAR や MENU コマンドを実行しても表示されません。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
対処1 【スタートボタン】→【設定】→【タスクバー】→【自動的に隠す】タスクバーの影に隠れている場合もある。ウィンドウを見つけたら、ディスプレイの中央あたりに移動させる。 対処2 ディスプレイの解像度を一つ上げる。画面の右または下にあるはず。ツールバーを見つけたら、ディスプレイの中央あたりに移動させ、ディスプレイの解像度は必ず元に戻す。OS が起動できなくなることもある。もしこれが原因で OS の起動が出来なくなった場合は、VGA モードで起動しディスプレイの解像度を戻してください。
図面を開いたときの表示範囲を設定できますか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
AutoCAD のコマンドでLIMITS があります。 コマンド:LIMITS と入力してリターン。 左下のX 座標、Y 座標をカンマで区切り入力してリターン。次に右上のX 座標、Y 座標をカンマで区切り入力してリターンします。 次回以降同じ空間で新規図面を開けます。
DWG や EPS 出力にしたときデータサイズが異常に大きいのは何故? 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
図面上にあるGOST が原因です。 GOST とは、長さのない線分、高さのない文字などが図面上に存在するとき、見えませんがデータ出力や変換などで障害の原因となります。 対処1 【削除】を使います。 (1)オブジェクト選択の時にはALL で全てのオブジェクトを選択。 (2)オブジェクト選択除外R でWAVE 編集画面上に表示されているオブジェクトすべてをマウスで選択。 (3)【削除】を実行。GOST が除去されます。 対処2 【パーツ登録(Sテキスト対応)】またはパーツ登録を使います。オブジェクト選択の時には ALL は使わないようにしてください。WAVE 編集画面上に表示されているオブジェクトすべてをマウスで選択してパーツ登録します。パーツ登録のときには GOST が除去されます。 ※注意 CDF 設定は外れます。
コマンドラインが Window から離れた。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
テキストウィンドウをステータスバーの方へドラッグしてみてください。 残像の矩形の形状が太点線から細点線に変ったところで、ドロップしてください。
コマンドラインが見えなくなった。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
対処1 対処方法:F2 キーを押してテキストウインドウを表示させる。「commandline」と入力することで回復することがあります。 対処2 ディスプレイの解像度を一ランク上げてみます。表示画面が広くなり、見えなくなったコマンドウインドウが見つかります。 ウィンドウを見つけたら、ディスプレイの中央あたりに移動させ、ディスプレイの解像度は必ず元に戻します。 OS が起動できなくなることもあるので注意してください。 もしこれが原因でOS の起動が出来なくなった場合は、VGA モードで起動してディスプレイの解像度を戻してください。 対処3 それでもダメなときはレジストリを変更します。OS 上の変更は HKEY_CURRENT_USER/Software/Autodesk/AutoCAD/R15/ACAD-***/FixedProfile/Command Line Windows/ 名前: DockWindow.Style データ値: 2(16 進) << この部分の設定値を 2 に設定してください。 レジストリ編集はお客さまの責任範囲でお使いください。また、レジストリを編集する前には、必ずバックアップを行ってください。
WAVE データを別名保存するときと部品登録では違いがありますか。 製品名: WAVE
バージョン: WAVE2006 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
WAVE では別名保存のとき下位バージョンでの保存が可能ですが、部品登録では WAVE2002 では AutoCAD2000 形式のみ、WAVE2006 ではAutoCAD2004 形式のみ、となります。ご注意ください。 WAVE2006 での保存形式はAutoCAD2006 ではなく2004 形式です。
WAVE2006/10WAVE を起動するたびに図面修復のダイアログがでます。非表示にしたい。 製品名: WAVE
バージョン: WAVE2006/10WAVE 対象プラットフォーム: OS 共通 カテゴリ: AutoCAD
WAVE2006/10WAVE を起動するたびに図面修復のダイアログがでるときはコマンドに recoverymode とタイプして数字 0、1、2 のいずれかを入力します。 AutoCAD2006 の新機能としてシステム異常が発生した後に図面修復情報を記録するかどうかをコントロールします。 0 を入力したとき 修復情報は記録されません。システム異常が発生しても[図面の修復]ウィンドウは自動的には表示されず、システム レジストリ内のどの修復情報も削除されません。 1 を入力したとき 修復情報が記録されます。しかし、システム異常が発生しても[図面の修復]ウィンドウは自動的には表示されません。 2 を入力したとき 修復情報が記録されます。そして、システム異常が発生した次のセッションで、[図面の修復]ウィンドウが自動的に表示されます。
ファイルを選択する時、ファイルの並び順の初期設定を変更したい 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: WindowsXP カテゴリ: OS
ファイルを選択する時、ファイルの並び順を変更することはできますが、再起動をすると元の並び順に戻ってしまいます。 WindowsXP の機能で、ファイルの並び順の初期設定を変更することができます。
【操作方法】
① ファイルを選択する画面で、希望する並び順に変更します。 ② ファイルを選択します。 ③ CTRL キーを押しながら、【開く】ボタンを押します。 ※CTRL キーはファイルが開ききるまで、長押ししてください。 ※DWG を開く場合は、コマンドラインに"START OK"が出るまで長押ししてください。
WindowsVista への対応は 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: WindowsVista カテゴリ: OS
WAVE2009 以上の対応です。 WAVE2006 以下では動作確認をいたしておりません。
WindowsXPでAppleTalk対応プリンタへの出力は可能でしょうか。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: WindowsXP カテゴリ: OS
PCMaclanConnect が必要です。 WindowsXP ではAppleTalk をサポートしませんのでXP 対応のMaclanconnect を使ってAppleTalk のネットワーク環境を使えるようにします。
ディスクトップ上に WAVE のショートカットがなくなった。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: OS
①Windows のスタートボタン→【すべてのプログラム】→【WAVExxxx】→【WAVE】をコピーします。 ②デスクトップにペーストします。
ファイル名を入力するときに、フルパスをコピー&ペーストするとWAVE がフリーズする 製品名: WAVE
バージョン: WAVE2009/2010 対象プラットフォーム: WindowsVista/7 カテゴリ: その他
【面付け】→【定義】のファイルを選択する画面で、ファイル名を入力する際に、フルパスのフォルダ名をエクスプローラーやメモ帳等からコピー&ペーストをすると、WAVE がフリーズしてしまいます。 同じような現象が起きる機能は他に、 【面付け】→【実行】、【DWG 属性の一括変更】、【SPF】→【写真名のみ出力】/【QuarkSPF 取込】、【EPS】→【Illustrator-EPSネイティブ取込】などがあります。
1. 現象
メニューバー【データ加工】→【面付け】→【定義】をクリックします。 【面付け定義】画面が表示されます。 ① 【表】をクリックします。
② ファイル名を入力する際に、フルパスのフォルダ名をエクスプローラーやメモ帳等からコピー&ペースをします。
※WindowsXP やWindows2000 では、現在開いているフォルダから、コピー&ペーストしたフォルダへジャンプします。 ③ WAVE がフリーズします。
2. 対処方法
残念ながら対処方法はございません。大変申し訳ございません。 このような操作はなさらないようお願いいたします。
3. フリーズした状態からの回復方法
WAVE がフリーズした状態からの回復方法をご説明いたします。 ① CTRL+ALT+DEL キーを押し、タスクマネージャーの起動をクリックします。
② 【プロセス】タブを開き、「acad.exe」を選択し、【プロセスの終了】をクリックします。 ③ 「このプロセスを終了しますか?」というメッセージが表示されますので、【プロセスの終了】ボタンをクリックします。
同名ファイルが存在しないのに「既に存在します。置き換えますか?」とメッセージボックスが表示される 製品名: WAVE
バージョン: WAVE2009/2010 対象プラットフォーム: WindowsVista/7 カテゴリ: その他
【パーツ登録】でファイル名を入力する際に、既存のDWG を一度選択しファイル名の一部を変更します。 その後【保存】ボタンをクリックします。 フォルダ内に同名ファイルが存在しないのに「既に存在します。置き換えますか?」というメッセージボックスが表示されます。 同じファイル名を、ファイル名を入力する BOX に直接入力すると「既に存在します。置き換えますか?」というメッセージボックスは表示されません。 【パーツ登録(S テキスト対応)】【複合図形/再登録】も同じようが現象があります。 対処方法をご案内します。
1. 現象
メニューバー【パーツ/配置】→【パーツ登録】をクリックします。 【図面ファイルを作成】画面が表示されます。 ① 14 ぴったり.dwg を選択します。
② ファイル名の一部を変更します。
③ 保存ボタンをクリックすると、①で選択したファイル名を置き換えますか?とメッセージが表示されます。
2. 対処方法
②でファイル名の一部を変更した後で、F5 キーを押します。それから保存ボタンをクリックします。
WAVE の HELP を開く方法 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: その他
●WAVE2006 Rel4.00 まで
WAVE インストール後初めてHELP を使用する場合は、Acrobat を設定していただく必要があります。 一度この操作をしていただければ、次回以降HELPを閲覧する際にはすぐにAcrobatが起動し、該当のPDFファイルが開かれます。
●WAVE2009 Ver5.00/WAVE2006 Rel4.01 以降
Acrobat の設定は必要なくなりました。メニューをクリックするとPDF が開きます。 ただし、Acrobat Reader 等がインストールされていない場合は開くことができません。
「プロテクトエラー」のメッセージが表示され WAVE が起動できません。 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: その他
「プロテクトエラー」のメッセージは、WAVE のプロテクタが認識できない場合に表示されます。 プロテクタが認識できない場合は、プロテクタがきちんと装着されていない、または USB ポートの不具合が原因でプロテクタを認識できない、またはプロテクタそのものが故障しているケースが考えられます。 切り分けのために以下の対処方法をお試しください。
プロテクタの外観
USB タイプ
パラレルポートタイプ
1. プロテクタを差しなおす プロテクタを差しなおします。
この状態でWAVE が正常に起動できればOK です。プロテクタの装着が緩んでいたようです。 USB タイプで改善されない場合は2.へお進みください。 パラレルポートタイプで改善されない場合は3.へお進みください。
※パラレルポートタイプのプロテクタの注意※
センチネルタイプのプロテクタの場合は、プロテクタを外す際には必ず電源を落としてください。電源が入っている状態で、プロテクタを外すと破損の原因になります。
2.USB プロテクタを別の USB ポートに装着する プロテクタを外し、別のUSB ポートに装着します。 その USB ポートに対して初めてプロテクタを装着した場合、WindowsXP では「新しいハードウェアの検索ウィザード」が開始します。ウィザードのメッセージに従って設定を完了してください。 この状態でWAVE が正常に起動できればOK です。USB ポートに不具合があるかもしれません。 改善されない場合は3.へお進みください。なおWAVE が1 台のみの場合は4.へお進みください。
3.別の端末のプロテクタと交換する WAVE が複数台ある場合は、他の端末のプロテクタと交換してみてください。この状態で WAVE が正常に起動できれば OK です。プロテクタに不具合があるかもしれません。5.へお進みください。 改善されない場合は4.へお進みください。
4.ドライバを再インストールする プロテクタのドライバをアンインストールしてから、再度インストールしなおします。WAVE のSETUP-CD をご準備ください。 再インストール後WAVE が正常に起動できればOK です。ドライバに異常があったようです。 改善されない場合は5.へお進みください。
※USB タイプのプロテクタの注意※
USB タイプのプロテクタは必ず外してください。装着したままドライバをインストールすると、そのUSB ポートではプロテクタを認識することができません。 万が一プロテクタを装着したままドライバをインストールした場合は、もう一度アンインストールしてください。
4.1. ドライバのアンインストールを実行します
① 「コントロールパネル」→「プログラムの追加と削除」を起動します。 ② Sentinel System Driver の削除をクリックします。
③ 「コンピュータからSentinel System Driver を削除しますか?」とメッセージが出ます。 「はい」をクリックします。 ④ 画面が消えたところでアンインストールは完了です。
4.2. ドライバのインストールを実行します
① WAVE のSETUP-CD をCD ドライブにセットします。 ② センチネルドライバをクリックします。 ※ セットアップ画面が表示されない場合 エクスプローラーでCD ドライブを開きsetup.html をダブルクリックします。 ※ セットアップ画面にセンチネルドライバが表示されていない場合 エクスプローラーでCD ドライブを開きます。 WAVE2006\sentinel またはWAVE2002\sentinel フォルダのsetup.exe をダブルクリックします。 ③ 実行をクリックします。 ④ 実行するをクリックします。 ⑤ Next をクリックします。 ⑥ I accept the ~を選択し、Next をクリックします。 ⑦ Complete を選択しNext をクリックします。 ⑧ Install をクリックします。 ⑨ Finish をクリックします。 ⑩ プロテクタをUSB ポートに装着します。
5.プロテクタの交換 プロテクタ本体に不具合があるようです。交換手続きをいたします。 なおプロテクタは精密機器です。保障期間であれば無償で交換することができますが、保障期間を過ぎた場合は有償の交換になります。 詳細は製品サポートセンターへお問合せください。
Mac で dwg を lzh 圧縮した添付ファイルがひらけない 製品名: WAVE
バージョン: WAVE共通 対象プラットフォーム: OS 共通 カテゴリ: その他
Windows との互換性がないためMAC で解凍してください。またMAC からメールで送信するとき添付は必ずMac で圧縮してください。MAC 特有の圧縮形式拡張子:lzh,hqx,sit,sea,zip などがあります。Sit,zip はWindows でも解凍ツールがあります。
WAVE の編集画面と出力で文字のサイズが異なる。旧データとはR12 バージョン以前のバージョンです。 製品名: WAVE
バージョン: WAVE2002/2006 対象プラットフォーム: OS 共通 カテゴリ: その他
旧データの正規化が実行されていないことが原因です。 WAVE プルダウンメニュー 画層・字体変更/旧データ(R13 以前)の正規化を実行してください。 【注意】 WAVE2009 以上では「旧データの正規化」がありません。WAVE2006 以下のDWG をWAVE2009 以上でそのまま開くと文字化けが発生するためです。 旧データをWAVE2009 以上で使用する場合は以下の手順になります。 ① WAVE2006 以下で「旧データの正規化」を実行する。 ② WAVE2006 以下で移行ツール(Dwg2Dxf)を実行する。 ③ WAVE2009 以上で移行ツール(Dxf2Dwg)を実行する。
文字列の行末に・(中黒点)が出力される。旧データとは R12 バージョン以前のバージョンです。 製品名: WAVE
バージョン: WAVE2002/2006 対象プラットフォーム: OS 共通 カテゴリ: その他
旧データの正規化が実行されていないことが原因です。 WAVE プルダウンメニュー 画層・字体変更/旧データ(R13 以前)の正規化を実行してください。 【注意】 WAVE2009 以上では「旧データの正規化」がありません。WAVE2006 以下のDWG をWAVE2009 以上でそのまま開くと文字化けが発生するためです。 旧データをWAVE2009 以上で使用する場合は以下の手順になります。 ① WAVE2006 以下で「旧データの正規化」を実行する。 ② WAVE2006 以下で移行ツール(Dwg2Dxf)を実行する。 ③ WAVE2009 以上で移行ツール(Dxf2Dwg)を実行する。
旧データ:全角-(ハイフン)が出力で化ける。旧データとは R12バージョン以前のバージョンです。 製品名: WAVE
バージョン: WAVE2002/2006 対象プラットフォーム: OS 共通 カテゴリ: その他
旧データの正規化が実行されていないことが原因です。 WAVE プルダウンメニュー 画層・字体変更/旧データ(R13 以前)の正規化を実行してください。 【注意】 WAVE2009 以上では「旧データの正規化」がありません。WAVE2006 以下のDWG をWAVE2009 以上でそのまま開くと文字化けが発生するためです。 旧データをWAVE2009 以上で使用する場合は以下の手順になります。 ① WAVE2006 以下で「旧データの正規化」を実行する。 ② WAVE2006 以下で移行ツール(Dwg2Dxf)を実行する。 ③ WAVE2009 以上で移行ツール(Dxf2Dwg)を実行する。
LLIISSPP ププロロググララミミンング
講講座座 グ
<基礎編> 1 AutoLisp の書き方
2 関数の登録と実行
3 リストの扱い
4 ユーザ入力関数
5 座標計算・作図関数
6 条件分岐・ループ関数
7 文字列・ファイル操作関数
8 組版関数
解答
<応用編>
作図編
図形編集編 ページアップ編
SSiimmpplleePPrroodduucctts
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc
s
CONTENTS
プログラミング講座 AutoLisp の関数を使って、プログラムにチャレンジ!
ちょっとしたプログラムが、作業効率アップにつながります。
1.AutoLisp の書き方
※ 注 意
●プログラム中の記号はすべて半角で入力する。
● で囲まれた部分はコマンドラインかリ
スプファイルに記述することを意味する。
WAVE をたちあげコマンドライン上に
コマンド:(+ 1 2)
と入力してみる。
リターンを押すと直ちに
3
と返ってくる。これが LISP の基本的な関数の記述方法である。
始まり括弧から終わり括弧までを「式」(しき) という。
「式」は、必ず何かの値に評価される。ここでは、(+ 1 2) を
式と呼び、3 と評価される。
(1 + 2)×4-10 の計算は、以下のように記述する。
コマンド:(- (* (+ 1 2) 4) 10)
2
変数(へんすう):プログラム内で様々な値を一時的に記憶してお
く為に使われる、いわば「値の入れ物」。 任意の名前で、必要に
応じていくらでも変数は作成できる。
変数に値を代入するには setq を使用する。
( setq 変数名 値 ) のように使用する。
コマンド:(setq a 1 )
1 :a に 1 が代入される
コマンド:(setq b 2 )
2 :b に 2 が代入される
コマンド:(+ a b)
3 :a + b は 3 である
前述したように、(+ 1 2) は 3 と評価される。つまり、下記の
ような記述が可能である。
コマンド:(setq c (+ a b)) 3 :c に 3 が代入される
コマンド:(setq d (+ c c)) 6 :d に 6 が代入される
コマンドライン上で変数の値を知りたい場合は ! に続けて変
数名を入力する。
コマンド:!a 1
コマンド:!d
6
問題 1-1
変数 x に 100 を代入せよ。
変数 y に 20 を代入せよ。
x-y の解を変数 z に代入せよ。
変数 z の中身を確認せよ。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -1-
変数の型 (かた) について AutoLisp で扱える変数の型には
整数・・・・・・ 1 2 –5
実数・・・・・・ 101.5 –56.74
文字列・・・ “abcd” “21345” ”今日は”
文字列は ”ダブルクォーテーション” で囲まれて扱われる。
リスト・・・ (list 12.5 2.5 0.0) (list ”abcd” “efg” “hijk”)
図面上の座標もリストである。
他にも・・・・・図面を編集する時に必要な 図形名、選択セット
などの型がある。
以下の割り算を記述したコマンドを見てみる。
コマンド:(setq a ( / 3 2 ))
1
コマンド:(setq a ( / 3 2.0 ))
1.5
ここで / は割り算である。整数と実数の違いがわかる。
上のような結果が返ってくるのは AutoCad が
3 や 2 を 整数(0, 1, 2, 3, –1, –2 …)
として認識し
1.5 や 2.0 を実数(1.0, 3.7 , –5.1 …)
として区別して扱われるからである。加減乗除の関数はどれか一
つの引数が実数(小数点のある値)でなければ実数を返さない。
問題 1-2
以下の計算をコマンド上で行え。
10 + 5 × -2
50 ÷ 100 - 0.2
(6 + 5) - (3 × 4)
(7 × 3) + (4 - 6) + (12 ÷ 4)
ヒント:
× は (* A B ) と記述
÷ は (/ A B ) と記述する。
※「数字」の「1」と「文字列」の「”1”」は別物です。文字列は
ダブルクォーテーションで囲まれています。 つまり、(+ 1 2) は
計算できます(値を返します)が、(+ “1” 2) はエラーになり
ます。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -2-
2.関数(かんすう)の登録と実行
関数:関数とは、何かまとまった仕事をさせる一連の手順をまと
めたもの。大分して2種類に分かれる。
① 情報を与えると、それに基づいて何かを実行するもの。
例:box 関数(BOX を描く)、fltolst 関数(ファイルを読み込む)
② 情報を与えると、それに基づいて計算をし、値を返すもの。
例:+ 関数(和を返す)、car 関数(リストの先頭を返す)
WAVE には数百もの標準関数が用意されているが、これらを用い
て自分で便利な関数を作成することができる。
関数を定義するとき defun (デファン) を用いる。では、自分
の関数を作成してみよう。
1章ではコマンドライン上で1つの式を実行していたが、複数
の式をまとめてテキストファイルに記述し、呼び出し実行するこ
とができる。
WAVE3ai の直下に user フォルダを作成し、下記ののテキス
トを作成し「EX.LSP」というファイル名で保存する。
【EX.LSP】
;2x + 5 の値を返す関数
(defun ex1 (x )
(+ (* x 2) 5)
)
この関数を実行するには、手順が2つ必要になる。
① 作成した LISP ファイルをロードする。
(その中に記述された関数がすべて使用可能になる)
コマンド:(load “user / ex” )
② 使用可能になった関数を実行する。
コマンド:(ex1 2)
9
コマンド:(ex1 –2.5)
0.0
ex1 の引数に 2 を与えたとき 9 という正しい解が返ってきてい
る。
( defun ) の規則:
(defun ・・ (・・/・・) ・・・・ )
関数名 引数 ローカル変数 関数の内容
・関数名 … 呼び出す時の名前。1ファイルに幾つでも作成可。
・引数 (ひきすう) … 関数が受け取る情報。必要に応じて、自由
に設定できる。
・ローカル変数 … 関数内で使用した変数(setq した変数)は、
ここに記述することで、関数内でのみ有効になる。
・関数の内容 … 関数が呼び出された時、実行される内容。
戻り値 (もどりち) について:
先程の ex1 関数は、「2x + 5 の値を返す関数」である。
この計算結果 (= 関数が返す値) の事を「戻り値」と呼ぶ。
例えば、(+ 1 3 ) の戻り値は 4、(-6 3) の戻り値は 3 である。
同様に、(ex1 2) の戻り値は 9 である。
(setq ans(ex1 5)) ; 変数 ansに ex1の戻り値を代入
戻り値は、これまでと同じく、
のように使用することができる。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -3-
戻り値 の設定方法:
・ 関数内で、 後に評価された値が戻り値になる
;2x + 5 の値を返す関数
(defun ex1 (x )
(+ (* x 2) 5)
)
つまり、「2x+5 を返す」上記の関数は、下記のように記述しても
良い。
;2x + 5 の値を返す関数
(defun ex1 (x )
(setq a (* x 2))
(+ a 5)
)
また、下記のように変数を記述するだけでも良い。
;2x + 5 の値を返す関数
(defun ex1 (x )
(setq a (* x 2))
(setq ans(+ a 5))
ans
)
LISP の記述方法について:
半角スペースやタブコードは、関数名や引数、変数などを区切る
もので、いくつ連続しても 1 つとみなされる。また改行もスペー
スと同じ扱いになる。
例えば、
(defun ex1(x) (+ (* x 2) 5) )
のように記述しても
(defun ex1(x)
(+
(*
x
2
)
5
)
)
のように記述しても、まったく同じ結果になる。
関数名について:
関数名や、引数を含む変数名には、この ex1 や x などのよう
に、任意のアルファベットと数字を組み合わせて使う。
既に定義されている関数名、変数名を再び定義すると、自動的に
上書きされる。(古い方は残らない)
その為、標準関数を上書きするようなことも簡単にできてしまう。
標準関数にあるのかどうか、不明なときはコマンドライン上で
コマンド: ! ex2
nil
のように ! を使って nil かどうか確認できる。nil は何もない
ということをあらわしている。
それ以外の何かが返ってきた場合は使用できないことになる。も
し間違って上書きしてしまった場合、開いている図面を 1 度終了
させる必要がある。
なお関数名のアルファベットは、小文字(abc)と大文字(ABC)
を区別しない。
問題 2-1
次の関数を作成せよ。
◎ 引数をxを受け取り x2 -5x+10 の値を返す関数ex3
この関数 WAVE 上でロード、実行し解が正しいこと確認せよ。
ヒント:1つの式内に同じ変数名を何回でも使用可能です
x2 は ・・・?
関数内の 後に評価する式
関数内の 後に評価する式
関数内の 後に評価する式
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -4-
3. リスト
では次に LISP 特有の「型」であるリストについて学ぶ。
「リスト」とは
(list 10 20 30 40 50 )
のように複数の要素を 1 つの変数に格納している形式のことで
ある。
リストを使用することで、関わりのある情報を1まとめにして扱
うことができる。例えば X 座標、Y 座標を (list 12.0 16.0)
のように「点」という扱いにすることができる。
変数 a にリストを格納するにはコマンドラインに以下のように
記述する。
コマンド:(setq a (list 12.0 16.0 ) )
(12.0 16.0)
コマンドラインに以下のように記述してみよう。
コマンド:(setq a (list 18 28 21 22 ) )
(18 28 21 22)
コマンド:(setq b (list “父” “母” “長女” “次女” ) )
(“父” “母” “長女” “次女”)
コマンド:(setq c (list a b) )
( (18.05 28.56 21.0 22.5) (“父” “母” “長女” “次女”) )
リストには様々な形式があることがわかる。
リストは主に list 関数で自由に作成することができる。またリ
ストが持つそれぞれの要素は“数値”にかぎらない。つまり“整
数”、“実数”、“文字列”や“リスト”もまたリストの要素になり
うる。(上図の変数 c は、リストの要素がリストになっている)
( list “父” 18.5 ) というように、型の混在も自由である。
問題 3-1
コマンドライン上で
lst1 に (2 4 6 8)
lst2 に (“a” “b” “c” “d”)
lst3 に ((10 20) (30 40) (50 60))
を代入せよ。
lst1 lst2 lst3 の中身を確認せよ。
リストの要素の取り出し方:
・CAR (カー) と CDR (クダー)
コマンド:(setq lst1 (list 10 20 30 40 ))
(10 20 30 40 )
コマンド:(car lst1)
10
コマンド:(cdr lst1)
(20 30 40 )
(car) はリストの第一番目の要素を返す関数、
(cdr) はリストの二番目以降のリストを返す関数である。
これらの仲間の(cadr)、(caddr)、(cddr)、(cdddr) 関数も確認し
ておこう。
・NTH (エヌス)
コマンド:(setq lst2 (list 12 23 34 ))
(12 23 34 )
コマンド:(nth 0 lst2 )
12
コマンド:(nth 1 lst2 )
23
コマンド:(nth 2 lst2 )
34
あるリストの要素の n 番目をとってくる関数である。
このとき
(list 12 23 34 ・・・)
0 番目 1 番目 2 番目 ・・・
のように考える。このように 0 を頭にしたカウントのしかたを
0オリジンという。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -5-
問題 3-2
コマンドラインに
コマンド:(setq lst8 (list “A” “B” “C” “D” “E” “F” ))
を代入する。
nth 関数を用いて
変数 a に ”A” を
変数 c に “C” を
変数 e に ”E” を代入せよ。
問題 3-3
以下のように入力する。
コマンド:(setq lst2 (list (list 5 6 7) (list 8 9 )))
lst2 に ( list (list 5 6 7 ) (list 8 9 ) ) が代入されていると
き、nth 関数を用いて 7 を取り出し変数 x に代入せよ。
リスト同士の結合:
APPEND (アペンド)
コマンドラインに以下のように記述してみよう。
コマンド:(append (list 5 6 ) (list 7 8 ) )
(5 6 7 8 )
(5 6 ) と (7 8 ) が結合したリストが返ってくる。
次に以下のように記述してみよう。
コマンド:(setq lst1 (list 10 20 30 ))
(10 20 30 )
コマンド:(setq lst2 (list 40 50 ))
(40 50 )
コマンド:(append lst1 lst2)
(10 20 30 40 50 )
(append ) 関数はリストとリストを結合させる関数である。
問題 3-4
コマンドラインにおいて
lst1 に (30 60 80)
lst2 に (10 45 )
を代入して 2 つを結合し lst3 に代入せよ。
次に lst1 に (list “い” “ろ” ) を代入し、下記のように
”は” を追加せよ。 このように⇒ (list “い” “ろ” “は”)
その他のリスト操作基本関数:
length:リストの保持する要素数を返す。
sublst:リストの n 番目から m 個分のリストを返す。
sub_lst:リストのn番目をxに変更する。
del_lst:リストのn番目の項目を削除する。
lappend:リストにアトムをリストとして追加する。
acad_strlsort:リストを五十音順に並べ替えソートする。
foreach:リストが持つ要素1つ1つに対してある関数を順次
評価する。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -6-
4.ユーザ入力関数
GET ~ 関数
ユーザに値や座標を指定させたいときは、GET ~ 関数を使用す
る。
コマンド:( getpoint )
と入力し、マウスで図面上のどこか適当な点を指示してやると、
例えば
( 7.4476 5.8121 0.0 )
などと返ってくる。
上の例では、(getpoint) により、ユーザに図面上の点を指示させ、
その座標を返したわけである。
コマンド:(setq p (getpoint “点を指示”) )
点を指示
これにマウス指示により点を与えれば、変数 p に点の座標が代
入される。
また、キーボードでの座標入力も可能。
コマンド:(setq p (getpoint “点を指示”) )
点を指示
80,130
このような get** 関数の中で比較的使用頻度の高いものを以
下に示す。
(GETPOINT)
( getpoint [ pt ] [ message ] )
ユーザに図面上の、点の座標の入力を求める。
ユーザはマウスによる画面の指示、またはコマンドラインへキ
ーボードの直接入力により座標を入力できる。そのときのタイ
プは 100,200 のようなカンマ区切りで入力する。引数の[pt]と
[message]はあってもなくてもどちらでもよい。
[pt] に座標リスト(x y) を入力すると、画面上で点 pt からカ
ーソルまでラバーバンドする。これは1点目に対して2点目を
選ぶときに便利である。
[message]は、ユーザに何をさせるかをコマンドライン上に表示
させるもので、メッセージという。
使用例:
コマンド:(setq p (getpoint “点を指示”) )
コマンド:(setq p (getpoint (list 0 0) “2 点目を指示”) )
問題 4-1
“点 A を指示せよ”というメッセージを表示し、ユーザに点を指
示させ、その点を変数 a に代入せよ。
同様に変数 b にもユーザが指示した点を代入せよ。
点 b を指示させる際、点 a からラバーバンドが発生させよ。
次にこの点 a と点 b の中点を求め、変数 c に代入せよ。
問題 4-2
問題 4-1 の動作をする LISP プログラムを登録してみよう。
【EX.LSP】に関数名 ex6 で「ユーザに 2 点の入力を求め、その
中点を返す関数」を作成せよ。
また、ex6 をロードし実行してみよ。
ヒント:
(defun ex6 ( / )
(setq a (getpoint “1 点目を入力”))
・・・・・・・・・・・・・・・
からはじめる。
(GETSTRING)
( getstring [message] )
ユーザに“文字列”の入力を求める。
(GETINT)
( getint [message] )
ユーザに整数(1 2 3 ・・・)の入力を求める。
(GETREAL)
( getreal [message] )
ユーザに実数(0.3 1.5 ・・・)の入力を求める。
使用例:
コマンド:(getstring “文字列を入力” )
コマンド:(getint “整数を入力” )
コマンド:(getreal “実数を入力” )
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -7-
文字列の結合 STRCAT 関数の使用例 コマンド:(strcat “AB” “CD” “EFG”)
“ABCDEFG”
コマンド:(setq a “あい”)
コマンド:(setq b “うえお”)
コマンド:(strcat a b)
“あいうえお”
コマンドライン表示 PRINT 関数の使用例 コマンド:(print “あいうえ”)
“あいうえ” “あいうえ”
コマンド:(setq a “ABCD”)
コマンド:(print a)
“ABCD” “ABCD”
※2回表示してしまっているのは、print 指令で表示した後、戻
り値として ”ABCD” が表示されてしまう為である。
故に、LISP ファイル内で記述した場合は問題なく1回しか表示
されない。
問題 4-3
ユーザに「名前」を指示してもらい変数 a に代入せよ。
同様に「趣味」も指示してもらい変数bに代入せよ。
次に“私の名前は○○です。趣味は□□です。”
という変数cを作成せよ。
又、コマンドラインに文字列cを表示せよ。
ヒント:
文字列を結合し、文字列 c を作る。
問題 4-4
問題 4-3 と同じ働きをする関数 ex7 を【EX.LSP】に作成し、
ロード、実行してみよ。
問題 4-5
【EX.LSP】に次の関数 ex8 を作成せよ。
「3 x2 + 7 x - 15 についてxの値をユ-ザに整数入力させ、そ
の解を返す関数」
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -8-
5.座標計算・作図関数
WAVE は AutoCad をベースとした組版ソフトだということは先
に述べたが、当然、図面上での作図作業も必要となり、そのため
の関数が用意されている。実際に図面へ作図して学んでいく。
コマンドラインに
コマンド:(command “line”)
と入力すると
1点目を指定
と返ってくる。
ここで図面のどこかをクリックすると
次の点を指定
と返ってきて、2点目を選ぶことにより1点目・2点目のライン
が作図される。さらに
次の点を指定 [元にもどす(U)]
と求めてくるが、ここで U を入力しリターンすれば2点目の点
をやり直すことができるし、なにも入力せずにリターンすれば1
点目と2点目のラインを作図し、この関数は終了する。
さらに続けて3点目をクリックしよう。すると
次の点を指定 [閉じる(C)/ 元に戻す(U)]
と求めてくる。
C を入力すれば1・2・3点目の閉じられた三角形が作図される。
Command 関数は、このように入力した内容をそのまま引数とし
て受け取る仕組みをもつ。例えば上記の LINE の例なら、
(command “line” (list 10 10) (list 20 20) “” ) とすれば良
い。10,10 から 20,20 まで LINE が作図される。
同様に、円を作図する関数(command “circle”)も試してみよう。
(command “circle”)
と入力し、コマンドラインが求めてくる引数を与えれば、円が描
ける。
(command “Circle” (list 0 0 ) 50 )
COMMAND (コマンド) 関数について
WAVE には組版・作図に関する基本的なコマンドがあらかじめ登
録されていて、(command “~” ......) によりそれらを実行
できる。
command 関数の種類には、LINE、PLINE、CIRCLE、LAYER、
ZOOM、SAVE、WBLOCK、INSERT、PEDIT ….等があり、
それぞれ与えるべき引数が異なる。
(COMMAND “CIRCLE” ) について
円を描くコマンドは CIRCLE である。
(command “circle” pt r )
pt:中心の座標(リスト)
r:半径(実数)
(COMMAND“LAYER”) について
WAVE では線種の指定を画層で行なっている。
画層をセットする関数が (command “layer” ) である。
例えばコマンドラインで
コマンド:(command “layer” “m” “AMI_$80” “” )
コマンド:(command “circle”・・)
とすれば、描いた円は 80%の塗り潰しになる。
変換関数 (DTR)
(dtr degree)
ディグリー角をラジアン角に変換する。
例:
(dtr 180)
3.14
反対に (rtd) という関数もある。
座標処理関数 (POLAR)
(polar pt rad dist)
ある点 p を基準に相対的に 2 点目を決めるときに使う関数が
polar である。その記述は「点pt から rad 方向に dist だけ離れ
た点」を意味する極座標で指示する。
また角度にはラジアン角(0 pi12 pi pi32) をもちいるため、
ディグリー角(0,90,180…)で指示したいときは、それを変換する
必要がある。
問題 5-1
ユーザに左下頂点を指示させ、1辺が 50mm の正方形を作図す
る関数を作成せよ。(線幅 0.2mm)
問題 5-2
ユーザに頂点を指示してもらい 1 辺が 30mm の正三角形を作図
する関数を作成せよ。(線幅 0.15mm)
問題 5-3
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -9-
ユーザに基点を指示してもらい下の図形を自動生成する関数を
作成せよ。
中心が基準
円の半径は 30mmです。
ヒント:
中心の点を pt とすると
pt1 は pt から 30°方向に
30 はなれた点であるから
(setq pt1 (polar pt (dtr 30) 30))
と表すことができる。
このようにして 6 点をきめる。
PT1
PT2
PT3
PT4
PT5
PT6
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -10-
6. 条件分岐・ループ関数
プログラムは条件分岐や繰り返しなどを組み込むことで、目的や
効率が大幅に向上する。
コマンドラインに以下の記述を行う。
コマンド:(= 1 1)
T
コマンド:(= 1 2)
nil
=(イコール) はその式が正しければ T を、間違っていれば nil
を返す関数である。条件分岐はこのような複数の要素を比較する
ことでその後の処理を分岐させるのが基本である。
問題 6-1
以下の式は T であるか nil であるか。
1. (= 100 100.0)
2. (= 100 100.1)
3. (< 10 20)
4. (> 10 20)
5. (< 10 10)
6. (<= 10 10)
7. (= “A”“A”)
8. (= “10” 10)
コマンドラインで実行し確認せよ。
条件分岐・ループについて
条件分岐させることにより、1つの入り口から、結果が何千、何
万パターンにも分岐するようなものが簡単にできる。大幅な工数
削減・効率化のキーは、ここにある。
以下に重要な条件分岐・ループ関数を挙げる。
条件分岐関数:
( if ) … 2方向分岐
( cond ) … 多方向分岐
ループ関数:
( while ) … ある条件を満たすまで繰り返す
( repeat ) … 回数を指定して繰り返す
( foreach ) … リストの要素数分だけ繰り返す
それに伴う演算子: ( 判定するための関数 )
(= a b) すべての引数が等しい場合は T を返し、それ以外
の場合は nil を返します。
(/= a b) 引数が等しくない場合は T を返し、引数が等し
い場合は nil を返します。
(< a b) 各引数がその右側の引数よりも数値的に小さい場
合は T を返し、それ以外の場合は nil を返します。
(> a b) 各引数がその右側の引数よりも数値的に大きい場
合は T を返し、それ以外の場合は nil を返します。
(and a b) 各引数が全て nil でない場合 T を、それ以外の場
合は nil を返します。
(or a b) 引数のいづれかが nil でない場合 T を、それ以外の
場合は nil を返します。
(not a) 引数が nil なら T を、それ以外の場合は nil を返し
ます。
(wcmatch a b) ワイルドカードを使用して、文字列のパタ
ーン マッチングを行い、T か nil を返します。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -11-
条件分岐関数(IF)
数値を1つ与え、20 以上なら”成人”、19 以下なら”未成年”とい
う文字列を返す関数「seijin」を作成してみよう。
【EX3.LSP】
(defun seijin(years / ans)
(if (<= 20 years)
(setq ans “成人”)
(setq ans “未成年” )
)
ans
)
コマンド:(load “ex3”)
コマンド:(seijin 16)
“未成年”
コマンド:(seijin 24)
“成人”
問題 6-2
ex3.lsp 中、未成年の場合、「現在~才です。後~年で成人です」
という文字列が返ってくるように拡張せよ。
ヒント:
分岐先で複数の式を実行したい時は、progn (プログン)でくくる。
(if (条件式)
(progn
(実行1)
(実行1)
)
(progn
(実行2)
(実行2)
)
)
条件分岐関数(COND)
cond は if と同じ条件分岐関数である。違いは、if が2分岐
(成立/不成立)であるのに対し、cond は多分岐であることで
ある。
数値を1つ与え、60 なら”還暦” 、70 なら”古稀”、喜寿(77 才)、
米寿(88 才)、白寿(99 才)、それ以外なら”~才”という文字列を返
す関数を作成してみよう。
【EX3.LSP】
(defun bannen ( years / ans)
(cond
((= years 60)
(setq ans “還暦”)
)
((= years 70)
(setq ans “古稀”)
)
((= years 77)
(setq ans “喜寿”)
)
((= years 88)
(setq ans “米寿”)
)
((= years 99)
(setq ans “白寿”)
)
(T
(setq years (itoa years))
(setq ans (strcat years “才”))
)
)
ans
)
コマンド:(load “ex3”)
bannen
コマンド:(bannen 77)
“喜寿”
コマンド:(bannen 62)
“62 才”
問題 6-3
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -12-
引数 a を以下のように評価する関数 ex14 を作れ。
1.0 以上 100 未満のとき、“村です”というメッセージを表示
2.100 以上 1000 未満のとき、“町です” というメッセージ、
3.1000 以上 10000 未満のとき、“市です” というメッセージ、
4.10000 以上のとき、”都市です”というメッセージ、
5.0 未満だったら、”値が不正です” と表示する。
COND 文の POINT
「それ以外」のときは、条件部分に T と記述。すると条件式が
常に T と評価されるので、他に入らなかった場合、必ず T の所
に入ってくる。
ループ関数(REPEAT)
【EX2.LSP】に以下のような条件分岐関数 ex5 を作成する。
【EX2.LSP】
(derfun ex5 ( a )
(repeat 3
(setq a (* a 2 ) )
)
)
ロードして実行してみる。
コマンド:(load “user / ex2”)
ex5
コマンド:(ex5 10)
80
80 と返ってくる。この計算の過程は、
10×2×2×2=80
となっている。つまり (setq a (* a 2 ) ) の部分を 3 回繰り
返したことになる。これが (repeat) の役割である。
(repeat n
(・・・・・・)
(・・・・・・)
)
n:繰り返し回数、(repeat )内の式を n 回繰り返す。
問題 6-4
「ユーザに点を指示させ、その点を中心に半径 20 の円を描く、
という動作を3回繰り返す関数」ex7 を作成せよ。
問題 6-5
「基準点を1点指示させ、その点を基に長さ 50 のラインを 5 行
描く関数」ex8 を作成せよ。実行後、下図のように描かれれば正
解。
基準点
行間 4
長さ 50
ループ関数(WHILE)
【EX2.LSP】に以下のような関数 ex9 を作成する。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -13-
【EX2.LSP】
(defun ex9 ( a )
(while (< a 100)
(print a)
(setq a (* a 2 ) )
)
a
)
ロードして実行してみる。
コマンド:(load “user / ex2”)
ex9
コマンド:(ex9 20)
20
40
80
160
(while (条件)
(・・・・・・)
)
while の機能は、「条件」が満たされている限り(= nil と評価され
ない限り) while 内の式をループしつづけ、条件から外れたとき
ループを抜け出すというものである。つまり上の例題では、引数
a が 10 で while に入り、a が 100 より大きくなるまで、式をル
ープしている。 変数 a の値は4回目で、10×2×2×2×2=160
となり、while の条件から外れることがわかる。
問題 6-6
ユーザに1点を指示させ、まずその点に半径 20mmの円を描く。
そこから、x 座標が 1000 に到達するまで、5mm 間隔で円を描き
つづける関数を作れ。
問題 6-7
以下の手順で作図実行する関数 ex12 を作れ。
1. ユーザに1点を指示させ、まずその点に半径 20mm の円を
描く。
2. “円の内側を指示してください:”とメッセージを表示
3. ユーザが円の内側を指示すれば“OK!” というメッセージ
を表示して終了。そうでなければ再び2へ戻る
ヒント:
指示した点が円の内側かどうかは中心からの距離を計算すれば
よい。pt1 と pt2 の距離 dist をとるには
(setq dist (distance pt1 pt2 ) )
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -14-
ループ関数 (FOREACH)
foreach は使用法がやや難しいが、慣れると非常に便利な関数で
ある。
【EX2.LSP】に以下のように記述し実行する。
(defun ex15 ( lst )
(foreach x lst
(print x)
)
)
これをロードし、コマンドラインに以下のように記述する
コマンド:(setq lst (list 10 20 30 40 50 ))
(10 20 30 40 50)
コマンド:(ex15 lst)
10
20
30
40
50 50
どのような操作がなされたかわかるだろうか?
受け取ったリストの要素を1つずつ順次 x に代入して要素数の
回数分ループするのである。
下記のように、全く同じ機能を repeat 関数でも記述できる。
(defun ex15 ( lst / n lng x)
(setq n 0)
(setq lng (length lst))
(repeat lng
(setq x (nth n lst))
(print x)
(setq n (+ 1 n))
)
)
repeat 関数と比べると、foreach 関数がいかに簡易に使用できる
かが解かると思う。
問題 6-8
foreach を使い、「受け取ったリストの要素すべての和を求める
関数」ex16 を作成せよ。
問題 6-9
foreach と if を使い、「受け取ったリストの要素の中で値が一番
大きいものを返す関数」ex17 を作成せよ。
パターンマッチング関数: (WCMATCH )
wcmatch の特徴は“*”・“?”等ワイルドカードの使用を認め
るところである。
「数字で始まる文字列には”¥”を付加する」等の処理が可能です。
“?”は任意の 1 文字を表す。
“*”は0文字以上、何文字でも許可する。
“#”は任意の数字1文字を表す。
問題 6-10
以下の式は T であるか nil であるか。
1. (wcmatch “123” “#*”)
2. (wcmatch “123” “1*2*”)
3. (wcmatch “123” “*”)
4. (wcmatch “ABCDEFG” “*CD*”)
5. (wcmatch “ABCDEFG” “*CE*”)
コマンドラインで実行し確認せよ。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -15-
7.文字列・ファイル操作関数 WAVE による組版は Excel などのデータベースからテキスト形
式へ変換したものを加工して行う場合がある。このとき、テキス
トファイルを LISP 操作するための関数を以下に示す。
まず組み版の原稿となるサンプルデータを作っておく。
MS-EXCEL を起動し以下のように入力し、
WAVE3AI/user/sample.xls
として保存する。
次にこの EXCEL ファイルを保存する際に
名前を付けて保存
ファイルの形式 = タブ区切りテキスト
ファイル名 = sample.txt
として、テキストデータとして WAVE3AI/ user/下に保存する。
これで以下のようなデータが作成する。
【sample.txt】
ジャイアンツ>東京>長嶋>6.49
タイガース>大阪>野村>6.46
スワローズ>東京>若松>5.02
ドラゴンズ>名古屋>星野>4.99
カープ>広島>?>4.80
ベイスターズ>横浜>権藤>3.21
タブ区切りテキストは、タブによって区切られた文字列の繰り返
しである。このテキストを(fltolst)を用いてリスト化する。コマ
ンドラインに次のように記述する。
コマンド:(fltolst “user/sample.txt”)
1行ごとの文字列をリストの1要素として扱い、さらにタブで区
切られた文字列をそれぞれリストの1要素として扱うことで、2
段階のリストとする。
このリストを変数 lst1 に代入する。
コマンド:(setq lst1 (fltolst “user/sample.txt”) )
これで lst1 には sample.txt の内容がリストとして代入された。
このリスト lst1 をコマンドライン上で確認してみる。
コマンド:(car lst1)
ジャイアンツ¥t 東京¥t 長嶋¥t6.49
※¥t はタブコードのことである。
2 項目目、3 項目目も確認しよう。
コマンド:(cadr lst1)
タイガース¥t 大阪¥t 野村¥t6.46
コマンド:(nth 2 lst1)
スワローズ¥t 東京¥t 若松¥t5.02
この文字列を(getlst_k)を用いてさらにリスト化する。以下のよ
うに記述する。
コマンド:(getlst_k (car lst1 ) “¥t” )
(“ジャイアンツ” “東京” “長嶋” “6.49”)
コマンド:(getlst_k (cadr lst1 ) “¥t” )
(“タイガース” “大阪” “野村” “6.46”)
文字列・リスト変換関数 (getlst_k str a ) は文字列 str をそ
の文字列内の a という記号で区切り、リスト化する。上の例では
“ジャイアンツ¥t 東京¥t 長嶋¥t6.49”
という文字列が、その文字列内の ¥t(タブコード)で区切られ
“ジャイアンツ” “東京” “長嶋” “6.49”
というリストが生成された。
これを変数 lst2 に代入する。
コマンド:(setq lst2 (getlst_k lst1 “¥t”))
(“ジャイアンツ” “東京” “長嶋” “6.49”)
このようにテキストデータから内容を取り出し、リストとして管
理することで、非常に操作性のよい形式で扱える。
問題 7-1
コマンドライン上で sample.txt から“ジャイアンツ”という文
字を取り出し変数 a に、“名古屋”という文字を変数bに代入せ
よ。
問題 7-2
【EX3.LSP】に、sample.txt から文字列を取り出し、
“○○の勝率は□□です。”
というコメントを 6 チーム分表示する関数 ex1 を作成せよ。
ジャイアンツ 東京 長嶋 6.49
タイガース 大阪 野村 6.46
スワローズ 東京 若松 5.02
ドラゴンズ 名古屋 星野 4.99
カープ 広島 ? 4.80
ベイスターズ 横浜 権藤 3.21
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -16-
ファイル作成関数(LSTTOFL) (fltolst)と逆に、リストからファイルを作成する関数が(lsttofl)で
ある。以下のように記述する。
コマンド:(setq lst1 (list “いろはにほへと” “ちりぬるを”))
コマンド:(lsttofl “user/sample2.txt” lst1)
このようにリストを作成しておいて、(lsttofl)でファイル化する。
user フォルダ内に sample2.txt ファイルが作られたか確認しよ
う。
その他のファイル操作・ファイル名関連の関数:
・findfile:そのファイルが存在するかどうか判定する
・unlink:ファイルを削除する
・getfiled:ファイル選択ダイアログを表示しユーザにファイ
ルを選択させる
・getfild2:ファイルを複数選択させる
・splitpath:ファイル名をドライブ、フォルダ、ファイル名、
拡張子に分割する
・atreadp:cons リストにして読み込む
・atwritep2:cons リストをファイルに書き出す
・getfiles:任意のフォルダにあるファイル名を取得する
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -17-
8.組版関数
ファイルから取り出したテキストデータを図面に組版する。まず、
コマンドラインに以下のように記述しよう。
コマンド:(mojigumi_q (list 0 0) 0 “ABCD” )
(mojigumi_q)は WAVE ファンクションに対応した、シングル文
字組版関数である。
文字を組版する場合以下の点に注意する。
・文字の字体(フォント、サイズ、色、優先順位)
・文字を置く基点/揃え位置
字体は (set_font3) を用いて以下のように設定する。
横組 12Q21FY に設定する場合;
コマンド:(set_font3 “12Q21FY” “”)
16Q103FY、色=$50、優先順位=3 の場合;
コマンド:(set_font3 “16Q103FY” “$50” 3)
縦組 10Q3FT の場合;
コマンド:(set_font3 “10Q3FT” “”)
次に文字を置く基点について、文字列には
右のように 9 点の基点があると考える。
文字列の配置点 pt を決めても、この 9 点の
どこを基準とするかで、組版する場所が異
なってくる。この基準を設定するのが
(setq BASE) と (setq STS) である。
BASE・・・ 0、1、2 :揃え位置(下・中心・上)
STS ・・・ “NON”、“C”、“R” :基点(行頭・中心・行末)
BASE、STS にはそれぞれ 3 つのパラメータがあり、それらを組
み合わせることで 1~9までの基準点を設定する。
(setq BASE 0 STS “NON”) と設定したとき:
(setq BASE 1 STS “R” ) としたとき
ABCD pt
6
問題8-1
コマンドラインから次の文字列を文字組みせよ。
① 字体=40Q1FY、BASE=1、STS=“NON” ( MOJIGUMI_Q (LIST 0 0) 0
pt=(300 300)、文字列=“乾杯!”
② 字体=20Q21FY、色=BLUE、優先順位=2、
BASE=2、STS=“R”
pt=(500 500)、文字列=“ファイト!”
③ 字体=30Q3FT、BASE=0、STS=“C”
pt=(400 600)、文字列=“日本!”
問題 8-2
以下の情報を用い文字列、配置点をユーザが入力し文字を組版す
る関数 ex3 を作成せよ。
字体=15Q12FY、BASE=1、STS=“C”
問題 8-3
問題 7-2 で使った user/sample.txt からテキストを取り出す関数
を応用して、以下のような組版を実行する関数 ex4 を作成せよ。
字体=20Q3FY、左上基点
~ その他のシングル組版用 関連関数
・strfix2:文字列をある範囲にあわせて長平体処理をかける
・strfit2:文字列をある範囲にあわせて開く処理をかける
・mjrlenp_ij:その文字列の長さ(mm)を得る
あ
STR )
文字の配置座標 文字の傾き角度 文字列
1 2 3
4 5 6
7 8 9
基準点 500、500
7 ABCD
点 pt で“ABCD”を文字組み
ジャイアンツ タイガース スワローズ 行送り 6.0
ドラゴンズ カープ ベイスターズ
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -18-
確認問題 確認 1<<数値計算>>
以下の数式を、コマンドライン上で実行してみよ。
(1) 3 + 4 + 5
(2) 3 - 4 + 5
(3) 3 - 4 ÷ 5
(4) 3 ÷ (2 + 5 ÷ 4)
(5) x に 5 を代入し、
X10 - 9000000
確認 2<<LIST 操作>>
(1) a に(0 1 2)という List を、b に(3 4 5)という List を代入
せよ。
(2) a と b を使って、(0 1 2 3 4 5)という List を作れ。
(3) a と b を使って、(0 1 2 (3 4 5))という List を作れ。
(4) a と b を使って、((0 1 2) (3 4 5))という List を作れ。
(5) a の 2 番目項目と、bの 1 番目の項目の和を得よ。
(6) nth 関数を使わずに、aの 3番目の項目を得よ。
(7) (2)~(4)で作った List をそれぞれ c に代入して、その項目
の数を得よ。
(8) ((0 1) ((2 3) (4 5)))という List を c に代入してみよ。
(9) c から 3という数値を取り出してみよ。
確認 3<<座標系と command 関数+α>>
(1) ユーザに点を指示させ、aに座標を代入せよ。また、同様に
別の点を bに代入せよ。
(2) a から x軸方向に+100 移動した点と、b とを結んだ Line を引
け。
(3) a から x軸方向に+100、y 軸方向に+200 した点を得よ。
(4) 画層を"poly010"に設定し、aから b に Line を引け。
(5) a から bを対角線とする Box を"poly015"で描け。
確認 4<<文字列操作>>
(1) a に"a;b;c;d;e;f;g"という文字を代入せよ。
(2) a を";"区切りの List にして bに代入し、その中から"e"を取
り出せ。
(3) b の 後にに"h"を追加し、再び";"区切りの 1 つの文字列
"a;b;c;d;e;f;g;h"を作れ。
(4) a に文字を追加して、(3)で作ったものと同じ文字列を作れ。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -19-
解答 解答 1-1
コマンド:(setq x 100)
コマンド:(setq y 20)
コマンド:(setq z (+ x y) )
コマンド:! z
120
※この後、x の値を変更したとしても、z の値は変わらない。
(変数 z は「x + y」 としてでなく、120 という数値が代入される)
解答 1-2
コマンド:(+ 10 (* 5 ‐2) )
0
コマンド:(- (/ 50.0 100.0 ) 0.2 )
0.3
コマンド:(- (+ 6 5) (* 3 4 ) )
‐1
コマンド:(+ (* 7 3) (- 4 6) (/ 12.0 4 .0) )
22
※割り算は整数同士だと整数しか返さないので注意
解答 2-1
【EX.LSP】
(defun ex3 ( x )
(+ (- (* x x) (* 5 x ) ) 10)
)
※同じ変数を何度でも使用可能
解答 3-1
コマンド:(setq lst1 (list 2 4 6 8) )
(2 4 6 8 )
コマンド:(setq lst2 (list“月”“火”“水”“木”) )
(“月”“火”“水”“木”)
コマンド:(setq lst3 (list (list 10 20) (list 30 40) (list 50 60)) )
( (10 20) (30 40) (50 60) )
※リストの中に、またリストが存在することもある
解答 3-2
コマンド:(setq lst8 (list “A” “B” “C” “D” “E” “F”) )
(“A” “B” “C” “D” “E” “F”)
コマンド:(setq a (nth 0 lst8) )
“A”
コマンド:(setq b (nth 2 lst8) )
“C”
コマンド:(setq c (nth 4 lst8) )
“E”
※ 初の要素は 0 番目である(1 ではない)事に注意
解答 3-3
コマンド:(setq lst2 ( list ( list 5 6 7) ( list 8 9 )))
コマンド:(setq x (nth 2 (nth 0 lst2 ) ) )
7
又は、
コマンド:(setq x (nth 0 lst2 ) )
(5 6 7)
コマンド:(setq x (nth 2 x ) )
7
※ (nth 0 lst2 ) が ( list 5 6 7) を返す。2行に分けて記述
しても当然良い。
解答 3-4
コマンド:(setq lst1 ( list 30 60 80))
コマンド:(setq lst2 ( list 10 45))
コマンド:(setq lst3 (append lst1 lst2))
( 30 60 80 10 45)
コマンド:(setq lst1 (list “い” “ろ” ) )
コマンド:(setq lst1 (list lst1 (list “は”) ) )
(“い” “ろ” “は”)
※ append はリスト同士の結合関数なので、”は” をリスト化し
て結合すること。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -20-
解答 4-1
コマンド:(setq a (getpoint “点 A を指示せよ:”))
コマンド:(setq b (getpoint a “点 B を指示せよ:”))
コマンド:
(setq c (list (/ (+ (car a) (car b)) 2.0) (/ (+ (cadr a)(cadr b)) 2.0)))
長くなってわかりずらいので以下のように記述してもよい。
コマンド:(setq x (/ (+ (car a) (car b)) 2.0))
コマンド:(setq y (/ (+ (cadr a)(cadr b)) 2.0)
コマンド:(setq c (list x y))
※ ラバーバンドを表示するには getpoint の引数に「点」を追
加する。中点を出す際、X 座標と Y 座標を分けて考えると判
りやすい。
※ 中点を求める関数は、標準関数 center が用意されている。
解答 4-2
【EX.LSP】
;ユーザに 2 点の入力を求め、その中点を返す関数
(defun ex6 ( / a b x y c)
(setq a (getpoint “1点目を指示:”))
(setq b (getpoint a “2 点目を指示:”))
(setq x (/ (+ (car a) (car b)) 2))
(setq y (/ (+ (cadr a) (cadr b)) 2))
(setq c (list x y))
)
解答 4-3
【EX.LSP】
;名前と趣味を入力し、コマンドラインに出力する関数
(defun ex7 ( / a b c)
(setq a (getstring “名前を入力”))
(setq b (getstring “趣味を入力”))
(setq c (strcat “私の名前は” a “です。趣味は” b “です。”))
(print c)
)
解答 4-4
【EX.LSP】
(defun ex8 (/ a )
(setq a (getreal “x を入力してください。”))
(- (+ (* 3 a a ) (* 7 a ) ) 15)
)
解答 5-1
(defun sikaku( / pt1 pt2 pt3 pt4 )
(setq pt1 (getpoint “正方形の左下点を指示:” ))
(setq pt2 (polar pt1 0 50 ))
(setq pt3 (polar pt2 pi12 50 ))
(setq pt4 (polar pt3 pi 50 ))
(command “layer” “m” “POLY020” “”)
(command “pline” pt1 pt2 pt3 pt4 “c” )
)
※2 点を与えて BOX を描く、box 関数が便利。
解答 5-2
(defun sankaku( / pt1 pt2 pt3)
(setq pt1 (getpoint “正三角形の頂点を指示:”) )
(setq pt2 (polar pt1 (dtr 300) 30 ) )
(setq pt3 (polar pt1 (dtr 240) 30 ) )
(command “layer” “m” “POLY015” “”)
(command “pline” pt1 pt2 pt3 “c”)
)
※ 5-1、5-2 いずれも点の求め方は polar でなくとも良い。
※ 角の補正の為、線は LINE でなく PLINE で描き、 後は”C”
で閉じる。
解答 5-4
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -21-
【EX.LSP】
;円と六望星を描く関数
(defun ex10 ( / pt1 pt2 pt3 pt4 pt5 pt6)
(setq pt (getpoint “基準点を指示してください” ) )
(setq pt1 (polar pt (dtr 30) 30) )
(setq pt2 (polar pt (dtr 90) 30) )
(setq pt3 (polar pt (dtr 150) 30) )
(setq pt4 (polar pt (dtr 210) 30) )
(setq pt5 (polar pt (dtr 270) 30) )
(setq pt6 (polar pt (dtr 330) 30) )
(cmmand “circle” pt 30 )
(command “pline” pt1 pt3 pt5 “c”)
(command “pline” pt2 pt4 pt6 “c”)
)
解答 6-1
1.T 2.nil 3.T 4.nil 5.nil
6.T 7.T 8.nil
解答 6-2
(defun seijin(years / ans years2)
(if (<= 20 years)
(setq ans “成人です”)
(progn
(setq years2(- 20 years))
(setq ans(strcat (itoa years) “才です。後”
(itoa years2) “年で成人です”))
)
)
ans
)
解答 6-3
(defun citysize(a / ans)
(cond
((and (<= 0 a) (< a 100 ))
(setq ans “村です”)
)
((and (<= 100 a) (< a 1000 ))
(setq ans “町です”)
)
((and (<= 1000 a) (< a 10000 ))
(setq ans “市です”)
)
((and (<= 10000 a))
(setq ans “都市です”)
)
(T (setq ans “値が不正です”))
)
ans
)
解答 6-4
【EX2.LSP】
(defun ex7 ( / pt)
(repeat 3
(setq pt (getpoint “中心を指示してください” ) )
(command “circle” pt 20 )
)
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -22-
解答 6-5
【EX2.LSP】
(defun ex8 ( / pt1 pt2)
(setq pt1 (getpoint “基準点を指示してください”))
(repeat 5
(setq pt2 (polar pt1 0 50.0 ))
(command “line” pt1 pt2 “” )
(setq pt1 (polar pt1 pi32 4.0 ))
)
)
解答 6-6
【EX2.LSP】
(defun ex9 (/ pt x)
(setq pt (getpoint “開始点を指示:”))
(setq x (car pt) y (cadr pt))
(while (<= x 1000.0 )
(command “circle” (list x y) 20.0)
(setq x (+ x 5.0))
)
)
解答 6-7
(defun ex10 (/ pt pt2 dist)
(setq pt (getpoint “中心点を指示:”))
(command “circle” pt 20.0)
(setq pt2 (getpoint “円の内側を指示してください”))
(setq dist (distance pt pt2))
(while (< 50.0 dist )
(setq pt2(getpoint “円の内側を指示してください”))
(setq dist (distance pt pt2))
)
(princ “OK!”)
)
解答 6-8
(defun ex16 ( lst / ans)
(setq ans 0)
(foreach x lst
(setq ans (+ ans x ))
)
ans
)
解答 6-9
【EX2.LSP】
(defun ex17 ( lst / ans)
(setq ans nil)
(foreach x lst
(if (or (not ans) (< ans x))
(setq ans x)
)
)
ans
)
解答 6-10
1-T 2-T 3-T 4-T 5-nil
解答 7-1
コマンド:(setq lst1 (fltolst “user/sample.txt” ) )
・・・・
コマンド:(setq lst2 (getlst_k (car lst1) “¥t” ) )
・・・・
コマンド:(setq a (car lst2 ) )
“ジャイアンツ”
コマンド:(setq lst3 (getlst_k (nth 3 lst1) “¥t” ) )
・・・・
コマンド:(setq b (nth 2 lst3 ) )
“名古屋”
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -23-
解答 7-2
【EX3.LSP】
(defun ex1 ( / lst1 lst2 x str)
(setq lst1 (fltolst “user/sample.txt” ) )
(foreach x lst1
(setq lst2 (getlst_k x “¥t”))
(setq str (strcat (nth 0 lst2) “の勝率は” (nth 3 lst2) “です”))
(princ str)
)
)
解答 7-3
【EX3.LSP】
(defun ex2 ( / fllst x fn lst1 lst2)
(setq fllst (getfiles “user/*.txt”))
(foreach x fllst
(setq fn ( strcat “user/” x))
(seteq lst2 ( fltolst fn))
(setq lst1 ( append lst1 lst2))
)
)
解答 8-1
コマンド:(set_font3 “40Q1FY” “”)
コマンド:(setq BASE 1 STS “NON”)
コマンド:(mojigumi_q (list 300 300) 0 “乾杯!” )
コマンド:(set_font3 “20Q21FY” “BLUE” 2)
コマンド:(setq BASE 2 STS “R”)
コマンド:(mojigumi_q (list 500 500) 0 “ファイト!” )
コマンド:(set_font3 “30Q3FT” “”)
コマンド:(setq BASE 0 STS “C” )
コマンド:(mojigumi_q (list 400 600) 270 “日本”)
解答 8-2
【EX3.LSP】
(defun ex3 ( / str pt )
(setq str (getstring “文字を入力してください”))
(setq pt (getpoint “文字位置を指示してください”))
(set_font3 “15Q12FY”)
(setq BASE 1 STS “C”)
(mojigumi_q pt 0 str)
)
解答 8-3
【EX3.LSP】
(defun ex4 ( / lst1 lst2 x str pt)
(setq lst1 (fltolst “user/sample.txt” ) )
(set_font3 “20Q3FY” “”)
(setq BASE 2 STS “NON”)
(setq pt (list 500 500))
(foreach x lst1
(setq lst2 ( getlst_k x “¥t”))
(setq str ( car lst2))
(mojigumi_q pt 0 str)
(setq pt (polar pt pi32 6.0))
)
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -24-
確認 解答 1
(1)
コマンド:(+ 3 4 5)
12
(+)は、引数を 3 つ以上でも与ることができ、全ての和を得る関
数である。
コマンド:(+ (+ 3 4) 5)
12
こう記述しても同じことであるが、前者の回答の方が見やすい
し、賢いと言える。
(2)
コマンド:(+ (- 3 4) 5)
4
(3 - 4)に 5 をたす、と考えればわかりやすい。
もしくは、- の値をたし算で表現すると考えれば以下でもよい。
コマンド:(+ 3 -4 5)
4
(3)
コマンド:(- 3 (* 4 5))
同様に、4 *5 を、3 から引く、と考える。
(4)
コマンド:(* 3 (+ 2 (/ 5 4.0)))
9.75
4.0 が 4 となっていることに注目してみる。では、以下のように
入力してみよう。
コマンド:(* 3 (+ 2 (/ 5 4)))
9
実際には、3 * (2 + 5 / 4) = 9.75 が正解。
+ - * / 関数は、与えられた引数が、全て int 型であるとき、
必ず少数を省いた int 型の値を返す。よって、(5 / 4)は
コマンド:(/ 5 4)
1
と返してしまう。
(5)
コマンド:(setq x 5)
5
コマンド:(- (expt 5 10) 9000000)
765625
確認 解答 2
(1)
コマンド:(setq a (list 0 1 2))
コマンド:(setq b (list 3 4 5))
(list 0 1 2) というような表記を、'(0 1 2)と略記することができ
る。ただし、後者の項目には変数や関数を使用することはでない。
(2)
コマンド:(append a b)
append 関数の引数は、全てリストでなくてはならない。そして、
それぞれのリストの項を全てつなげたリストを返す。
また、3 つ以上の引数を与えることもできる。例えば、
コマンド:(append a b a)
(0 1 2 3 4 5 0 1 2)
となる。+ 関数のリストバージョンと考えるとよいだろう。
(3)
コマンド:(lappend a b)
(0 1 2 (3 4 5))
lappend 関数は 1 つ目の引数はリストで、2 つ目の引数はなんで
もかまわないので、一つ目のリストの、 後の項目に、二つ目の
項目をつなげたリストを返す。つまり、ここではリスト t の(0 1 2)
に、4 つめの項目として、リストの(3 4 5)をひとまとまりとして
つなげる。
append 関数との違いを理解しよう。
(4)
コマンド:(list a b)
((0 1 2) (3 4 5))
a と b が単体でリストであるのに、さらにそれを 1 つの項目とみ
なしたリストを作成しています。つまりリストのリストであると
いえる。
もしくは、
コマンド:(lappend (list a) b)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -25-
((0 1 2) (3 4 5))
と書くこともできる。
(5)
コマンド:(+ ( cadr a ) ( car b ))
4
ここで、cadr という関数がある。car はリストの 1 番 初の項目
を返し、cdr はリストの 2 番目以降の項のリストを返す。
コマンド:(cdr a)
(1 2)
と帰ってくるので、さらにそこに car 関数を使うと、
コマンド:(car (cdr a))
1
となる。そして、この表記を省略して、cadr と書くことができ
る。c と r の間に a と d を組み合わせて、 大 4 つまで挿入した
関数が用意されている。
また、この問題は nth 関数を使うと
コマンド:(+ (nth 1 a) (nth 0 b))
4
としても同じ結果が得られます。ただし nth 関数は、リストの
初の項目を 0 番目とした数値を与えなくてはならないことに注
意する。
(6)
コマンド:(caddr a)
2
前の問題の cadr のような表記を応用し、
コマンド:(car (cdr (cdr a)))
2
としても同じだが、これを略記して、caddr とすることができる。
また、cdr はつねにリストを返すことに注意する。例えば、
コマンド:(cdr (list 0 1))
(1)
と返ってきますが、これは項目が 1 つしかないリストで、あくま
でもリストなので、数値として 1 を取り出すには、さらに car を
する必要がある。
(7)
それぞれ、作ったリストに length 関数を使用する。
コマンド:(length (append a b))
6
コマンド:(length (lappend a b))
4
コマンド:(length (list a b))
2
(2)のリストは(0 1 2 3 4 5)で、項目が 6 つあることは簡単だが、
(3)のリストの(0 1 2 (3 4 5))はどうか。1 項目目が 0 で、続いて 1
2、そして 4 項目目をどう判断するかが問題である。3 は間違い
で、先ほど述べたように lappend 関数は与えられた 2 つ目の引
数を 1 つの項目として、 初のリストにつなげる。よって、4 項
目目の値は List の(3 4 5)が正解で
コマンド:(nth 3 (lappend a b))
(3 4 5)
となる。
(4)に関しても同様に、1 項目目は(0 1 2)、2 項目目は(3 4 5)の List
となっています。このように、リストをひとつの項目としてとら
えることが大切である。
(8)
コマンド:(setq c (list (list 0 1) (list (list 2 3) (list 4 5))))
((0 1) ((2 3) (4 5)))
少し複雑だが 1 つずつ見ていく。まず一番外側の括弧から見る
と、
( (0 1) ((2 3) (4 5)) )
のように 1 項目目が(0 1)で、2 項目目が((2 3) (4 5))であることが
わかる。
(0 1) は
コマンド:(list 0 1)
(0 1)
で得られる。((2 3) (4 5))は、リストのリストで、まとめて書くと、
コマンド:(list (list 2 3) (list 4 5))
((2 3) (4 5))
この 2 つをさらにリストでつなげて、
コマンド:(list (list 0 1) (list (list 2 3) (4 5)))
((0 1) ((2 3) (4 5)))
となる。
(9)
いろいろな書き方があるが、簡単な例として
コマンド:(cadr (caadr c))
3
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -26-
まず、c の 2 つ目の項目の 初の項目を caadr で得る。つまり、
c の2つ目とは、((2 3) (4 5))で、その 初の項目とは(2 3)である。
さらに、それの 2 項目目を cadr で得て、3 を得る。caadr は、cadr
の car、つまり、
コマンド:(car (cadr c))
(2 3)
をまとめたものである。このように、内側の括弧の文字(cadr の
ad)に外側の括弧の文字(a)をくっつる、と考えるとよい。ならば、
(cadr (caadr c))も(cadaadr c)とできるのでは?と思うかも知れ
ないが、a と d の組み合わせで 大 4 文字までなので不可。
nth 関数を使って
コマンド:(nth 1 (nth 0 (nth 1 c)))
3
などもできるし、組み合わせて、
コマンド:(cadar (nth 1 c))
3
なども可能。ここで、nth を使用するメリットは主に、数値を変
数で与えられることにある。nth の 0 番目や、1 番目しか使う機
会がないような状態では、car、cdr を使用することを薦める。
確認 解答 3
(1)
コマンド:(setq a (getpoint))
(198.737 80.3035 0.0)
コマンド:(setq b (getpoint))
(433.183 185.431 0.0)
座標とは(x y z)を示すリストである。つまり、a の値は
コマンド:(setq a (list 198.737 80.3035 0.0))
(198.737 80.3035 0.0)
としても、全く変わらない。また、WAVE では z 座標は基本的に
使用せず常に 0.0 で、省略可能。
(2)
コマンド:(setq c (polar a 0 100))
(298.737 80.3035 0.0)
コマンド:(command "line" c b "")
少し、複雑になるので、他の変数 c に a から x 軸方向に+100 移
動した点を代入し、command 関数で Line を引く。
Line コマンドを WAVE で実行すると、座標を与えた 後に、
enter キーを押して終了します。そのために、 後の""空文字が
必要となるので注意。
(3)
コマンド:polar (polar a 0 100) pi12 200)
(298.737 280.3035 0.0)
polar で x 軸に+100 移動したものに、さらに polar で y 軸に+200
すると考える。もしくは、座標は単なる数値のリストであること
に着目して、
コマンド:(list (+ (car a) 100) (+ (cadr a) 200))
(298.737 280.3035)
(car a)は a の x 座標、(cadr a)は a の y 座標を得る。ここで z 座
標は消えるが、WAVE では z 座標は使用せず、省略も可能なので、
座標として問題ない。
(4)
コマンド:(command "layer" "m" "poly010" "")
コマンド:(command "line" a b "")
(command "LAYER" ・・・以降で与える引数は複雑なので、コマ
ンドライン上で(command "layer")と入力してみる。すると、以
降の入力状態になるので、一度コマンド上で実行してみて、その
後、コマンド上で与えた順番どおりの引数を与えればよい。
また、コマンドライン上で入力した文字は、全て文字列で与える。
""で囲まないと、それは変数とみなされてしまう。
(5)
コマンド:(command "layer" "m" "poly015" "")
コマンド:(box a b)
WAVE では、コマンドではなく関数として、Box を作図する関数
が用意されています。コマンドとの違いを理解しよう。
(補足)
Line コマンドでは、コマンドライン上で座標を与えるときに、
マウスで指示する他に、"10,10"のような、文字列を与えること
もできる。よって、
コマンド:(command "line" "0,0" "10,10" "")
のように与えることもできる。
コマンド:(command "line" '(0 0) '(10 10) "")
と全く同じである。
box 関数で与えられる引数は、全てリストでなくてはならない。
コマンド:(box "0,0" "10,10")
などと入力しても、以下のようなエラーがでる。
Lisp 引数タイプエラーnil
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -27-
確認 解答 4
(1)
コマンド:(setq a “a;B;c;d;e;f;g”)
文字列は“ ”で囲む。
(2)
コマンド:(setq b (getlst_k a “;”))
("a" "b" "c" "d" "e" "f" "g")
コマンド:(nth 4 b)
"e"
(3)
コマンド:(setq c (lappend b "h"))
("a" "b" "c" "d" "e" "f" "g" "h")
一度 c に代入するとわかりやすい。
コマンド:(getstr_h c “;”)
“a;B;c;d;e;f;g;h”
(4)
コマンド:(strcat a ";h")
getstr_h とは全く別物なので注意。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -28-
プログラミング講座 応用編
さらに実用的なプログラムをマスターしよう。
図面の自動修正から本 1 冊の組版まで応用自在です。
作作作図図図編編編
問題 1-1
ユーザに任意の点を指示させて右に 50mmの線を書いて
ください。
(実線0.15mm画層色は”1”関数名は”sakuzu1-1”です。)
ヒント : getpoint line -layer
問題 1-2
ユーザに左下の点を指示してもらい、縦が 30mm横が 50
mmの長方形を作図してください。
(実線0.15mm画層色は”2”関数名は”sakuzu1-2”です。)
ヒント : getpoint polar box
問題 1-3
ユーザに三角形の左下を指示してもらい、正三角形を作
図してください。
(実線0.15mm画層色は”3”関数名は”sakuzu1-3”です。)
ヒント : getpoint polar pline dtr
問題 1-4
ユーザに図形の中心を指示してもらい、半径 50mmの多
角形を作図してください。
又、頂点の数をユーザが指示できるようにしてください。
(実線0.15mm画層色は”4”関数名は”sakuzu1-4”です。)
ヒント : getpoint polar pline dtr getint
問題 1-5
1-4 の半径をユーザが指示できるように直してください。
(実線0.15mm画層色は”5”関数名は”sakuzu1-4”です。)
ヒント : getreal
問題 2-1
左上の点が(100,100)で 縦 30mm、横 50mmのボックスを
作成し、縦を 10、横を 3 分割にしてください。
(実線0.15mm画層色は”1”関数名は”sakuzu2-1”です。)
ヒント : box repeat polar
問題 2-2
2-1 の左上の点を指示できるように直してください。
(実線0.15mm画層色は”2”関数名は”sakuzu2-2”です。)
ヒント : getpoint
問題 2-3
2-2 の縦横の分割数を指示できるように直してください。
(実線0.15mm画層色は”3”関数名は”sakuzu2-3”です。)
ヒント : getint
問題 2-4
四角のエリアを指示できるように直してください。
(実線0.15mm画層色は”4”関数名は”sakuzu2-4”です。)
ヒント : getpoint or getareap2
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -29-
解答例 1-1
(defun sakuzu1-1 ( / p1 p2)
;ローカル変数は必ずきります
(varget)
(princ “50mm の直線を作図します。”) ;表示します
;何をするか表示するとわかりやすくなります。
(setq p1 (getpoint “\n 線の左側を指示:”))
(setq p2 (polar p1 0 50)) ;P1 を右に 50mm 行った点です。
(command "-LAYER" "M" "POLY015" "C" 1 "" "")
;線種の設定を行います。
(command “LINE” p1 p2 “”) ;ライン発生
(varset)
)
解答例 1-2
(defun sakuzu1-2 ( / p1 p2)
(varget)
(princ “縦 30mm 横 50mm の長方形を作図します。”)
(setq p1 (getpoint “左下を指示:”))
(setq p2 (polar p1 0 50))
(setq p2 (polar p2 pi12 30))
(command "-LAYER" "M" "POLY015" "C" 2 "" "")
(box p1 p2)
(varset)
)
解答例 1-3
(defun sakuzu1-3 ( / p1 p2 p3)
(varget)
(princ “正三角形を作成します。”)
(setq p1 (getpoint “左下を指示:”))
(setq p2 (polar p1 0 50))
(setq p3 (polar p2 (dtr 120) 50))
(command "-LAYER" "M" "POLY015" "C" 2 "" "")
(command “PLINE” p1 p2 p3 “C”)
(varset)
)
解答例 1-4
(defun sakuzu1-4 ( / kazu cen p1 ang pang lst st)
(varget)
(setq kazu (getint "頂点の数を指示:"))
(setq st (strcat "正" (itoa kazu) "角形を作成します。"))
(princ st)
(setq cen (getpoint "中心を指示:"))
(command "-LAYER" "M" "POLY015" "C" 4 "" "")
(setq p1 cen)
(setq ang 0)
(setq pang (/ 360 (float kazu)))
(repeat kazu
(setq p1 (polar cen ang 50))
(setq ang (dtr (+ (rtd ang) pang)))
(setq lst (lappend lst p1))
)
(setq lst (append (list "PLINE") lst (list "C")))
(apply 'command lst)
(varset)
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -30-
解答例 1-5
(defun sakuzu1-5 ( / kazu cen st p1 ang pang long)
(varget)
(setq kazu (getint “\n 頂点の数を指示:”))
(setq long (getreal “\n 半径を指示:”))
(setq st (strcat “半径” (rtos long) “mm の正” kazu “角形を
作成します。”))
(prompt st)
(setq cen (getpoint “\n 中心を指示:”))
(command "-LAYER" "M" "POLY015" "C" 5 "" "")
(setq p1 cen)
(setq ang 0)
(setq pang (/ 360 (float kazu))
(repeat kazu
(setq p1 (polar p1 ang long)
(setq ang (+ ang pang))
(setq lst (append lst p1))
)
(setq lst (append (list "PLINE") lst (list "C")))
(apply 'command lst)
(varset)
)
解答例 2-1
(defun sakuzu2-1 ( / p1 p2 pt1 pt2)
(varget)
(setq p1 (list 100 100));左上の点
(setq p2 (list 150 70));右下の点
(command "-LAYER" "M" "POLY015" "")
;線種の設定
(box p1 p2);ボックス作図
(setq pt1 p1)
(repeat (- 3 1);横分割
;1番下に2重に線を書かない
(setq pt1 (polar pt1 pi32 (/ (float 30) 3)))
;片方を実数にすることで戻値は実数に
(setq pt2 (polar pt1 0 50))
(command "LINE" pt1 pt2 "")
)
(setq pt1 p1);pt1 を初期化
(repeat (- 10 1);縦分割
(setq pt1 (polar pt1 0 (/ (float 50) 10)))
(setq pt2 (polar pt1 pi32 30))
(command "LINE" pt1 pt2 "")
)
(varset)
;実行中の余計なものを表示しない。Varset とついで使う
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -31-
解答例 2-2
(defun sakuzu2-2 ( / p1 p2 pt1 pt2)
(varget)
(setq p1 (getpoint "左上の点を指示:"))
(setq p2 (polar p1 0 50));p2 を右に移動
(setq p2 (polar p2 pi32 30));p2 を下に移動
;よって右下の点に
(command "-LAYER" "M" "POLY015" "")
(box p1 p2)
(setq pt1 p1)
(repeat (- 3 1)
(setq pt1 (polar pt1 pi32 (/ (float 30) 3)))
(setq pt2 (polar pt1 0 50))
(command "LINE" pt1 pt2 "")
)
(setq pt1 p1)
(repeat (- 10 1)
(setq pt1 (polar pt1 0 (/ (float 50) 10)))
(setq pt2 (polar pt1 pi32 30))
(command "LINE" pt1 pt2 "")
)
(varset)
)
解答例 2-3
(defun sakuzu2-3 ( / p1 p2 tb yb pt1 pt2)
(varget)
(setq p1 (getpoint "ボックスの左上を指示:"))
(setq p2 (polar p1 0 50))
(setq p2 (polar p2 pi32 30))
(command "-LAYER" "M" "POLY015" "")
(box p1 p2)
(setq tb (getint "縦の分割数を指示:"))
(setq yb (getint "横の分割数を指示:"))
;分割数なので整数で求める
(setq pt1 p1)
(repeat (- yb 1)
(setq pt1 (polar pt1 pi32 (/ (float 30) yb)))
(setq pt2 (polar pt1 0 50))
(command "LINE" pt1 pt2 "")
)
(setq pt1 p1)
(repeat (- tb 1)
(setq pt1 (polar pt1 0 (/ (float 50) tb)))
(setq pt2 (polar pt1 pi32 30))
(command "LINE" pt1 pt2 "")
)
(varset)
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -32-
解答例 2-4① getpoint
(defun sakuzu2-4 ( / p1 p2 tb yb pt1 pt2 tatedis yokodis)
(varget)
(setq p1 (getpoint "ボックスの左上を指示:"))
(setq p2 (getpoint p1 "ボックスの右下を指示:"))
;引数の1つ目を p1 にしたのでラバーバンドします。
(command "-LAYER" "M" "POLY015" "")
(box p1 p2)
(setq tb (getint "縦の分割数を指示:"))
(setq yb (getint "横の分割数を指示:"))
(setq tatedis (- (cadr p1) (cadr p2)));縦の距離
(setq yokodis (- (car p2) (car p1)));横の距離
(setq pt1 p1)
(repeat (- yb 1)
(setq pt1 (polar pt1 pi32 (/ (float tatedis) yb)))
(setq pt2 (polar pt1 0 yokodis))
(command "LINE" pt1 pt2 "")
)
(setq pt1 p1)
(repeat (- tb 1)
(setq pt1 (polar pt1 0 (/ yokodis tb)))
(setq pt2 (polar pt1 pi32 tatedis))
(command "LINE" pt1 pt2 "")
)
(varset)
)
解答例 2-4② getareap2
(defun sakuzu2-4-2 ( / pt pt2 tb yb pt1 pt2 tatedis yokodis 9p)
(varget)
(setq 9p (getareap2));四角の 9 点をかえします
(setq p1 (nth 7 9p))
(setq p2 (nth 3 9p))
(command "-LAYER" "M" "POLY015" "")
(box p1 p2)
(setq tb (getint "縦の分割数を指示:"))
(setq yb (getint "横の分割数を指示:"))
(setq tatedis (caadr 9p)) ;(car (cadr 9p))
(setq yokodis (caar 9p)) ;(car (car 9p))
;(nth 0 9p) の 0 番目は横距離
; 1 番目は縦距離が入ってます。
(setq pt1 p1)
(repeat (- yb 1)
(setq pt1 (polar pt1 pi32 (/ tatedis yb)))
(setq pt2 (polar pt1 0 yokodis))
(command "LINE" pt1 pt2 "")
)
(setq pt1 p1)
(repeat (- tb 1)
(setq pt1 (polar pt1 0 (/ yokodis tb)))
(setq pt2 (polar pt1 pi32 tatedis))
(command "LINE" pt1 pt2 "")
)
(varset)
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -33-
図図図形形形編編編集集集編編編
問題 1-1
WAVE 上に“ああああああ”(適当)に文字をおく。
その文字を指示させて図形名を表示させる関数を作成せよ。
ヒント:entsel
問題 1-2
文字を指示させ、エンティティデータを表示させる関数を作成せ
よ。
ヒント:entget
問題 1-3
文字を指示させ、エンティティデータ中から文字列を抽出し、表
示させる関数を作成せよ。文字情報は 1 番。
ヒント:assoc
問題 1-4
文字を指示させ、エンティティデータの中身を変更して、図面上
の文字を自分の名前に替えよ。文字情報は 1番。
ヒント:subst entmod
問題 1-5
同様に文字の画層を変えよ。画層情報は 8番。
ヒント:subst entmod
問題 2-1
今度は WAVE 上に適当な横線を書き、その線を指示させて、始点
と終点を表示させる関数を作成せよ。始点は10番、終点は11番。
問題 2-2
線を指示させ、始点から下に 100mm の線を書く関数を作成せよ。
問題 2-3
線を指示させ、始点・終点・始点から上に 100mm・終点から上に
100mm の 4 点でボックスを書き、元の線を消す関数を作成せよ。。
ヒント:entdel
問題 3
適当にボックスを2~3個、ラインを2~3本書き、実行すると、
図面上のボックスだけ画層を変えるような関数を作れ。
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -34-
解答 1-1
(defun zukeihensyu1 ( / lst en)
(varget)
(setq lst(entsel)) ;図形を指示
(setq en(car lst)) ;図形名取得
(princ en) ;表示
(varset)
;実行中の余計なものを表示しない。Varset とついで使う
)
解答 1-2
(defun zukeihensyu2 ( / lst en ent)
(varget)
(setq lst(entsel)) ;図形を指示
(setq en(car lst)) ;図形名取得
(setq ent(entget en)) ;エンティティデータ取得
(princ ent) ;表示
(varset)
)
解答 1-3
(defun zukeihensyu3 ( / lst en ent str)
(varget)
(setq lst (entsel)) ;図形を指示
(setq en (car lst)) ;図形名取得
(setq ent (entget en)) ;エンティティデータ取得
(setq str (cdr (assoc 8 ent))) ;文字列取得
(princ str) ;表示
(varset)
)
解答 1-4
(defun zukeihensyu4 ( / lst en ent ne ol)
(varget)
(setq lst (entsel)) ;図形を指示
(setq en (car lst)) ;図形名取得
(setq ent (entget en)) ;エンティティデータ取得
(setq ol (assoc 1 ent)) ;古い文字データ取得
(setq ne (cons 1 “シンプル 太郎”)
;新しい文字データ作成
(setq ent (subst ne ol ent)) ;エンティティデータ変更
(entmod ent) ;図面に反映
(varset)
)
解答 1-5
(defun zukeihensyu5 ( / lst en ent ne ol)
(varget)
(setq lst (entsel)) ;図形を指示
(setq en (car lst)) ;図形名取得
(setq ent (entget en)) ;エンティティデータ取得
(setq ol (assoc 8 ent)) ;古い画層データ取得
(setq ne (cons 8 “32TEXT_$50”)
;新しい画層データ作成
(setq ent (subst ne ol ent)) ;エンティティデータ変更
(entmod ent) ;図面に反映
(varset)
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -35-
解答 2-1
(defun zukeihensyu6 ( / lst en ent p1 p2)
(varget)
(setq lst (entsel)) ;図形を指示
(setq en (car lst)) ;図形名取得
(setq ent (entget en)) ;エンティティデータ取得
(setq p1 (cdr (assoc 10 ent))) ;始点取得
(princ p1) ;表示
(setq p2 (cdr (assoc 11 ent))) ;終点取得
(princ p2) ;表示
(varset)
)
解答 2-2
(defun zukeihensyu7 ( / lst en ent p1 p2)
(varget)
(setq lst (entsel)) ;図形を指示
(setq en (car lst)) ;図形名取得
(setq ent (entget en)) ;エンティティデータ取得
(setq p1 (cdr (assoc 10 ent))) ;始点取得
(setq p2 (polar p1 pi32 100.0)) ;2 点目取得
(command “LINE” p1 p2 “”) ;ラインを書く
(varset)
)
解答 2-3
(defun zukeihensyu8 ( / lst en ent p1 p2 p3 p4)
(varget)
(setq lst (entsel)) ;図形を指示
(setq en (car lst)) ;図形名取得
(setq ent (entget en)) ;エンティティデータ取得
(setq p1 (cdr (assoc 10 ent))) ;始点取得
(setq p2 (cdr (assoc 11 ent))) ;終点取得
(setq p3 (polar p2 pi12 100.0)) ;右上点取得
(setq p4 (polar p1 pi12 100.0)) ;左上点取得
(command “LINE” p1 p2 p3 p4 “C”)
または
(box p1 p3)
(entdel en) ;元の図形を削除
(varset)
)
解答 3
(defun zukeihensyu9( / )
(varget)
(setq ss(ssget “X” (list (cons 8 “POLYLINE”))))
;図面上のボックス取得
(setq x (sslength ss)) ;選択セット内の図形数取得
(setq n 0)
(repeat x
(setq en (ssname ss n)) ;n個目の図形名取得
(setq ent (entget en)) ;エンティティデータ取得
(setq ent (subst (cons 8 “AMI”) (assoc 8 ent) ent))
;AMI 画層に変更
(entmod ent) ;図面に反映
(setq n ( + n 1))
)
(varset)
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -36-
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -37-
一一一括括括流流流ししし込込込みみみ(((ペペペーーージジジアアアッッップププ)))編編編
問題
まず、WAVE3AI フォルダの下に_勉強会/LISP/フォルダをコピーしま
す。
_勉強会/LISP/フォルダの下のTEST.TXTをエディタで開き、_勉強
会/LISP/フォルダの下のTEST.DWG をWAVEで開き、両方の内様
を確認して下さい。TEST.TXTを使いTEST.DWGの様に組版する
練習問題です。
テキスト分けしたファイル名は、3 桁にして下さい。
目標時間5 時間。
ヒント:
1. 元テキストから 1 ページ単位のテキストに分ける関数を作ってみま
しょう
2. 1 ページ単位のテキストから 1 ページを組む関数を作ってみまし
ょう
3. この2つの関数をうまく使いスクリプトを実行して連続ページアップ
処理をしてみましょう
解答例
;テキスト加工関数 (mktxt)、受け取ったテキストファイルを 1 ページづつのテキストに書き換えます。
(defun mktxt (fname page / m flst nlst tate tmax lst flg)
(setq m 0 tate 0 tmax 45) ;tmax=たての 大行数
(setq flst (fltolst fname)) ; (fltolst)でもとのテキストデータをリスト化
(while (and flst (setq str (nth m flst)))
(setq lst (getlst_k str ";")) ;セミコロン区切りの文字をリストへ
(if (/= flg (nth 0 lst)) ;一項目目の文字が前の行と変わったら
(progn
(setq tate (+ tate 1)) ;見出しの分も計算
(if (> tate tmax)
(prong
(lsttofl (strcat "_勉強会 /LISP/tmp/" (itoa_q page 3) ".txt") nlst) ;はみでたらここでファイルへ
(setq page (+ page 1) nlst nil tate 1)
)
)
(setq nlst (lappend nlst (strcat "0;" (car (strbunkai (nth 0 lst))))))
(setq nlst (lappend nlst (strcat "1;" (nth 0 lst) ";" (nth 1 lst))))
;一項目目の文字が前の行と変わったら見出しも発生させる
)
(progn
(if (> tate tmax)
(progn
(lsttofl (strcat "_勉強会 /LISP/tmp/" (itoa_q page 3) ".txt") nlst) ;はみでたらここでファイルへ
(setq page (+ page 1) nlst nil tate 0)
)
)
(setq nlst (lappend nlst (strcat "1;" (nth 0 lst) ";" (nth 1 lst))))
)
)
(setq flg (nth 0 lst))
(setq m (+ m 1) tate (+ tate 1))
)
(lsttofl (strcat "_勉強会 /LISP/tmp/" (itoa_q page 3) ".txt") nlst) ; 後のページははみでないのでここでファイルへ
page
)
;文章部分を組版する関数 (bunsyo)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc
(defun bunsyo (pnt lst / str wd)
(setq STS "NON" BASE 1)
(set_font3 "14Q21FY" "")
(mojigumi_q pnt 0 (nth 1 lst)) ;左に組んで
(setq pnt (polar pnt 0 162.0))
(setq STS "R" BASE 1)
(mojigumi_q pnt 0 (nth 2 lst)) ;右に組んで
(setq str "")
(setq wd (mjrlenp_ij "14Q21FY" (nth 2 lst))) ;右の文字長
(setq pnt (polar pnt pi wd)) ;右の文字の左側を基点に設定
(setq wd (- 162.0 (mjrlenp_ij "14Q21FY" (nth 1 lst)) wd)) ;真中の中黒の長さをGET
(repeat (fix (/ wd 3.5))
(setq str (strcat str "…")) ;真中の中黒の長さ分の文字に変換
)
(if (/= str "")
(mojigumi_q pnt 0 str) ;真中に中黒を組む
)
)
; (bunsyo)、 (midasi)関数を呼び出す関数 (jikkou)
(defun jikkou (fname page / flst m pnt lst str dwg)
(setq flst (fltolst fname))
(command "insert" "*_勉強会 /LISP/daisi" '(0 0) "1" "0")
(command "zoom" "e")
(setq m 0)
(setq pnt '(20 250))
(while (and flst (setq str (nth m flst)))
(setq lst (getlst_k str ";"))
(if (= (car lst) "1")
(bunsyo pnt lst) ;本文
(midasi pnt lst) ;見出し
)
(setq pnt (polar pnt pi32 5.0)) ;1 行下に移動
(setq m (+ m 1))
)
(setq STS "C" BASE 1)
(set_font3 "10Q21FY" "")
(if (isgusu page)
(mojigumi_q '(20 20) 0 (itoa page)) ;左ページ
(mojigumi_q '(182 20) 0 (itoa page)) ;右ページ
)
(if (findfile (setq dwg (strcat "_勉強会 /LISP/dwg/" (itoa_q page 3) ".dwg")))
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -39-
;SAVE するファイルがあったら上書きするかをきかれるので
(command "save" dwg "y")
(command "save" dwg)
)
)
;見出し部分を組版する関数
(defun midasi (pnt lst / pnt2)
(setq pnt (polar pnt 0 81.0))
(setq STS "C" BASE 1)
(set_font3 "18Q21FY" "$0")
(mojigumi_q pnt 0 (nth 1 lst))
(command "layer" "m" "AMI-10" "")
(box (polar (polar pnt pi 10) pi12 3.0) (polar (polar pnt 0 10) pi32 3.0))
)
;スクリプト作成、実行関数 (test)
(defun c:test ( / page tlst txt lst flg fname)
(setq fname "_勉強会 /LISP/test.txt")
(setq page (getint "¥n 開始ページを指定 :"))
(setq tlst (getfiles "_勉強会 /LISP/tmp/*.txt")) ;テキストファイル名のリストがかえってきます
(foreach txt tlst
(unlink (strcat "_勉強会 /LISP/tmp/" txt)) ;ファイルを消します
)
(mktxt fname page) ;テキストを 1 ページ毎にわけます
(while (findfile (setq txt (strcat "_勉強会 /LISP/tmp/" (itoa_q page 3) ".txt"))) ;テキストを 1 ページ毎にわけます
(if (not flg)
(setq lst (lappend lst (strcat "new y . (load ¥"_勉強会 /LISP/test¥") (jikkou ¥"" txt "¥" " (itoa page) ")")))
;初めだけNEWの後Yをいれます ;;;
(setq lst (lappend lst (strcat "new . (load ¥"_勉強会 /LISP/test¥") (jikkou ¥"" txt "¥" " (itoa page) ")")))
)
(setq page (+ page 1))
(setq flg T)
)
(lsttofl "_勉強会 /LISP/test.scr" lst)
(command "script" "_勉強会 /LISP/test.scr")
)
¥¥netserver¥public¥LISP 教材¥LISP プログラミング講座.doc -40-
ン
製品分類 書体の分類 PS(CID) OpenType MS明朝、MSゴシックMicroSoft以外のTrueType
WindowsVistaでの文字の扱いについて・弊社製品WAVE、FormMagic、WAS等の在版データをWindowsVistaで編集、出力を行うときにVistaで文字(字形)が変わる問題があります。・組版データでMS明朝、MSゴシックを使っているときは一部字形の入れ替わりが発生しますのでご注意ください。・MS明朝、MSゴシック以外ではこれまで使用していた同一の書体製品であればWindowsVistaからの出力でも字形の入れ替わりはありません。
●Vista対応=JIS2004字形、XP,2000対応=JIS90字形と覚えてください。・XP,2000のMS明朝、MSゴシックはJIS90字形で「辻」となり、VistaのMS明朝、MSゴシックではJIS2004字形で2点しんにゅうの「辻」となります。・JIS90とJIS2004では122文字の漢字の字形が異なります。 (例) 辻→辻、葛→葛、祇→祇・OpenTypeはJIS90字形ですが、JIS2004字形のVista対応版が発売され始めています。書体名にNがつきます。(メディアテクノロジーヒラギノ書体など)・MicroSoft社以外のTrueTypeはJIS90字形ですが、JIS2004字形のVista対応版もあります。(DynaFont)・XP,2000からVistaに変わっても、書体がJIS90字形で同一書体であれば文字の入れ替わりはありません。・VistaとXP,2000が混在する環境ではMS明朝、MSゴシックを使ったデータのやり取りをすると文字の入れ替わりが発生します。
●実際の混在で想定される問題・Vistaで組版用テキストデータ作成、修正をするとエディタなど文字表示はJIS2004で表示されます。(特別にJIS90字形の書体で表示する設定をすればXP,2000と同じ環境にはなりますが初期状態はJIS2004字形表示です)・「辻」を入力すると2点しんにゅうの辻となりVistaで出力すると2点しんにゅうの辻となります。・このデータをXP,2000のWAVE,FormMagic,WASなどで(JIS90字形の書体で)出力すると文字の入れ替わりが発生し「辻」(JIS90字形)で出力されます。Macintoshの環境では、MacOSのOSX、OS9以前でもJIS90字形の書体で出力すると文字の入れ替わりが発生し「辻」(JIS90字形)で出力されます。
●VistaでもこれまでのXP,2000の文字環境にあわせたいときMS明朝、MSゴシックはマイクロソフト社より「MS書体Ver2.5」を入手し、WindowsVistaにイVista標準では「MS書体Ver5.0」です。両方同時使用はできません。2008年6月作成
WAVE2002WAVE2006WAVE2009
FormMagic
WAS
OSの分類XP2000
VistaXP2000
VistaXP2000
VistaXP2000
Vista
WAVE編集画面 辻 辻 辻 辻 辻
プレビューWAVEFormMagciWAS
辻 辻 辻 辻 辻 辻
SPFプレビュー 辻 辻 辻 辻 辻 辻
プリンタへの出力 辻 辻 辻 辻 辻
SPFデータ 辻 辻 辻 辻
EPS出力 辻 辻 辻 辻 辻
PS出力 辻 辻 辻 辻 辻
35
WAVE2006 の基本設定をする
起動後、画面下に表示されるコマンドラインに“menu”と入力すると「カスタマイズファイルを選択」ダイアログが表示されます。C:¥Wave3AI¥WAVE2006.cuiを選択し[開く(C)]ボタンをクリックしメニューファイルをロードします。
■ WAVE2006のメニューを読み込む
● WAVEを起動する
1
2
WAVE2006は起動直後、メニューの表示などがAutoCAD 2006 の設定になっています。WAVE2006を正しく操作するために、まずは設定を変更する必要があります。そのためには、WAVE2006のメニューを読み込み、基本設定を行ったあと、再度WAVE2006のメニューを読み込む必要があります。
デスクトップ上のアイコン をダブルクリックして起動します。WAVEを起動すると次のメッセージが表示されます。バージョンアップの方は「はい、次のアップグレードです」を選択し、該当するAutoCADのバージョンを選択してください。新規ユーザーの方は「いいえ、新規ユーザーです」を選択してください。
36
●サポートファイルの検索パスを追加する
【環境】メニューから【AutoCad基本設定】サブメニューの【設定パネル開く】を選びます。「オプション」ウィンドウが表示されます。
「ファイル」タブをクリックし、「検索パス、ファイル名およびファイルの位置」内の「サポートファイルの検索パス」をダブルクリックするか、 をクリックします。検索パスの内容が表示されます。
1
2
サポートファイルの検索パスにはAutoCAD2006インストール後、自動的に次のパスが追加されます。従来C:¥Program Files¥AutoCAD 2006¥supportに一括配置されていた環境設定定義ファイルがログインユーザごとに自動設定されます。たとえばC:¥Documents and Settings¥Administrator.DEM0026¥Application Data¥Autodesk¥AutoCAD 2006¥R16.2¥jpn¥Support のフォルダの下に環境設定定義ファイルがあります。上例中のAdministrator.DEM0026は「Windowsログインユーザ名」のことです。AutoCADではこのフォルダをローミングフォルダと呼んでいます。WAVE2002まではなかった機能ですがこのパスを消さないようにしてください。
+
37
追加するパスは以下のとおりです(ここの例ではCドライブを指定します)。
C:¥Wave3AIC:¥Wave3AI¥PSFONTC:¥Wave3AI¥REALC:¥Wave3AI¥SKFONTC:¥Wave3AI¥WAVEC:¥Wave3AI¥GAIJIC:¥Wave3AI¥MADORI(オプションソフトで「間取図作成」をインストールした場合のみ)
[参照(B)...]ボタンをクリックして「フォルダの参照」ダイアログボックスを開き、追加するパスを選びます。
4
WAVE2006のメニューに変更する
[追加(D)...]ボタンをクリックします。3
38
1. Wave3AI関連のパスは、必ずAutoCAD 2006 関連のパスより上に配置してください。
2. AutoCAD 関連のパスが全てAutoCAD 2006である事を確認してください。例えば「AutoCAD 2000i、2000」などのようにバージョンアップ前のパスが残っていた場合、手動で参照先の変更を行ってください。パスが正しく設定されていない場合、WAVEが起動できないことがあります。
パスを追加し終えたら、パスを選んで反転表示させ、[上へ(U)]ボタンをクリックして上に移動させます(1回クリックするごとに1つ上に移動します)。下に移動させるときは、[下へ(M)]ボタンをクリックします(1回クリックするごとに1つ下に移動します)。この操作を繰り返し、次の画面のようにパスを配置してください。
5
[OK]ボタンをクリックし、「オプション」ウィンドウを閉じます。
WAVE2006のメニューに変更する
下記1.をお読みください
下記2.をお読みください
39
2
● WAVE2006 のメニューを再び読み込む
コマンドラインに“menu”と入力し、[Enter]キーを押します。「メニューファイルを選択」ダイアログボックスが表示されます。再び「C:¥Wave3ai¥Wave2006.cui」を選び、[開く(O)]ボタンをクリックします。
1
ツールバーのすべてのアイコンが正確に表示されます。
40
3 ツールバーのアイコン表示の一部が?マークに表示される場合は以下の手順で対処してください。
1.コマンドラインに“CUI”と入力し、リターンします。ユーザインタフェースダイアログが開きます。ダイアログの左上(①)[メインCUI内のカスタマイズ]欄をメインCUIファイル(WAVE2006.CUI)を選択してください。2.ダイアログ左下(②)コマンド一覧を「すべてのコマンド」にします。コマンド一覧(③)に?マークのアイコンが表示されている行をダブルクリックします。3.ダイアログ右上(④)の編集ボタンを押してください。ボタンエディタダイアログが開きます。保存ボタンを押してダイアログを閉じてください。4.適用ボタン(⑤)を押してください。これで、ほかのアイコンも一括して正しい表示になります。
①
②
③ ⑤
④
41
■ その他の環境設定を変更する
WAVE2006をより操作しやすくするために、その他の環境設定を変更します。【環境】メニューから【AutoCad基本設定】サブメニューの【設定パネル開く】を選ん
で、「オプション」ウィンドウを開いてください。
● テンプレートの位置を変更する
「ファイル」タブをクリックして、「検索パス、ファイル名、およびファイルの位置」リストから「図面テンプレートファイルの位置」をダブルクリックします。
「C:¥Program Files¥AutoCAD 2006¥template」をクリックして反転表示させます。
1
2
[除去(R)]ボタンをクリックし、続いて[参照(B)...]ボタンをクリックします。「フォルダの参照」ダイアログボックスが表示されます。
「フォルダの参照」ダイアログボックスから「C:¥Wave3AI¥template」を選び、[OK]ボタンをクリックします。「図面テンプレートファイルの位置」が「C:¥Wave3AI¥template」になります。
設定が完了したら[適用(A)]をクリックします。
3
4
その他の環境設定を変更する
42
「色(C):」ドロップダウンリストボックスで、[▼]ボタンをクリックして「□White」を選びます。
2
[適用して閉じる]ボタンをクリックします。背景色が白に変わります。
設定が完了したら[適用(A)]をクリックします。
3
1
● 背景色を変更する
「オプション」ウィンドウの「表示」タブをクリックします。
「ウィンドウの要素」から[色(C)...]ボタンをクリックします。「色のオプション」ダイアログボックスが表示されます。
43
「オプション」ウィンドウの[適用(A)]ボタンをクリックします。[レイアウト]タブと[モデル]タブが消えます。
他の設定を行わない場合は、[OK]ボタンをクリックして「オプション」ウィンドウを閉じます。
設定が完了したら[適用(A)]をクリックします。
2
1
● [レイアウト]タブと[モデル]タブを消す
WAVE2006では、ウィンドウの左下にある[レイアウト]タブと[モデル]タブを使用することはありません。レイアウト領域を広く使うためにも、画面から消しておく
ことをお勧めします。
「表示」タブの「レイアウト要素」から「[レイアウト]タブと[モデル]タブを表示」オプションのチェックボックスをクリックして解除します。
その他の環境設定を変更する
44
複数のファイルを開いているとき、このオプションは選ぶことができません。
「一般的なオプション」の「単一図面互換モード(S)」オプションをクリックしてチェックします。
2
1
● 1度に開くファイルを1つにする
WAVE2006では、1度に1つのファイルを開くか、複数のファイルを開くかを設定できます。デフォルトでは、複数のファイルを開けられるように設定されています。
「オプション」ウィンドウの「システム」タブをクリックします。
「オプション」ウィンドウの[適用(A)]ボタンをクリックします。
単一画面互換モードで別のファイルを開こうとすると、次のようなメッセージが表示されます。
45
● 起動時にスタートアップダイアログを表示させる
WAVE2006は起動時に、下記スタートアップダイアログを表示するか、表示させないかを設定できます。
<スタートアップダイアログ>
「オプション」ウィンドウの「システム」タブで、下記①のドロップダウンリスト[▼]ボタンから設定します。
「オプション」ウィンドウの[適用(A)]ボタンをクリックします。
他の設定を行わない場合は、[OK]ボタンをクリックして「オプション」ウィンドウを閉じます。
1
その他の環境設定を変更する
①
46
● レイアウト領域で右クリックしたときの動作を変更する
レイアウト領域で右クリックした場合にショートカットメニューを表示するか、[Enter]キーを押したときと同様の動作をするかを設定します。
「オプション」ウィンドウの「基本設定」タブをクリックします。「Windows標準処理」の[右クリックをカスタマイズ(I)...]ボタン(①)をクリックします。
1
「右クリックのカスタマイズ」ダイアログボックスが表示されます。
モードに応じて、設定するオプションを選択します。クリック時間に応じた右クリックの機能を有効にする のチェックを入れると素早いクリックはEnterの機能になります。クリック時間が長いときはショートカットを表示します。
2
①
47
【既定値モード】オブジェクトを選択しておらず、コマンドも実行していない場合、レイアウト領域で右クリックしたときの動作を設定します。
「最後のコマンドを繰り返す」オプションこのオプションを選択すると、既定値モードでのショートカットメニューを使用不可能にします。レイアウト領域で右クリックしたとき、[Enter]キーを押した操作と同様となり、最後に実行したコマンドが繰り返されます。
「ショートカットメニュー」オプションこのオプションを選択すると、既定値モードでのショートカットメニューを使用可能にします。
【編集モード】1つ以上のオブジェクトを選択していて、コマンドを実行していない場合、レイアウト領域で右クリックしたときの動作を設定します。
「最後のコマンドを繰り返す」オプションこのオプションを選択すると、編集モードでのショートカットメニューを使用不可能にします。レイアウト領域で右クリックしたとき、[Enter]キーを押した操作と同様となり、最後に実行したコマンドが繰り返されます。
「ショートカットメニュー」オプションこのオプションを選択すると、編集モードでのショートカットメニューを使用可能にします。
【コマンドモード】コマンドを実行している場合、レイアウト領域で右クリックしたときの動作を設定します。
「[Enter]キー」オプションこのオプションを選択すると、コマンドモードでのショートカットメニューを使用不可能にします。レイアウト領域で右クリックしたとき、[Enter]キーを押した操作と同様となります。
「ショートカットメニュー:常に表示」オプションこのオプションを選択すると、コマンドモードでのショートカットメニューを使用可能にします。
「ショートカットメニュー:コマンドオプションが存在するときに表示」オプションこのオプションを選択すると、現在、コマンドラインからオプションが使用可能な場合だけ、コマンドモードでのショートカットメニューを使用可能にします。コマンドラインでは、オプションは[ ]で囲まれます。使用可能なオプションがない場合、右クリックすると、[Enter]キーを押した操作と同様となります。
設定が完了したら「右クリックのカスタマイズダイアログ」の[適用して閉じる]ボタンをクリックします。
他の設定を行わない場合は、[OK]ボタンをクリックして「オプション」ウィンドウを閉じます。
3
その他の環境設定を変更する
48
■ プロファイルを使用して他のコンピュータも同じ設定にする
現在の環境設定をプロファイルとして保存し、他のコンピュータに読み込ませるこ
とによって、共通の環境で作業をすることができます。
「オプション」ウィンドウの「プロファイル」タブをクリックします。[書き出し(E)...]ボタンをクリックします。
「プロファイルを書き出し」ダイアログボックスが表示されます。保存する場所とファイル名を指定して[保存(S)]ボタンをクリックします。
1
2
現在の設定をARGファイルとして保存されます。
ARGファイルとは、システムレジストリに保存されているプロファイルの情報をテキストファイルに出力したものです。
49
「利用可能なプロファイル(P)」リスト内に、読み込んだファイル名が表示されます。読み込んだファイル名を選び、[現在に設定(C)]ボタンをクリックします。共通の環境に設定されます。
6
このARGファイルを、共通の環境にする他のコンピュータの「Wave3AI」フォルダ内にコピーします。ARGファイルを読み込み環境設定を行います。
設定するコンピューターのWAVE2006を起動し、「オプション」ウィンドウを開き、「プロファイル」タブを表示し[読み込み(I)...]ボタンをクリックします。
「プロファイルを読み込み」ダイアログボックスが表示されます。コピーしたARGファイルを選び、[開く(O)]ボタンをクリックします。5
4
3
プロファイルを使用して他のコンピュータも同じ設定にする
複数のARGファイルを読み込むことができます。プロファイルはWAVE起動ショートカットアイコンに設定することができます。
50
「リンク先(T):」テキストボックスで、現在のディレクトリに続いて /p (現在のプロファイル名)を入力します。たとえば、コピーしたプロファイル名(ARGファイル)が「PART1.arg」とすれば、以下のように入力します。
"C:¥Program Files¥AutoCAD 2006¥acad.exe" /p "C:¥Wave3AI¥PART1.arg"
[OK]ボタンをクリックして「WAVE2006 のプロパティ」ダイアログボックスを閉じます。
これで、WAVE2006を起動すると、入力したプロファイル名が現在のプロファイルとなります。
3
1
2
● WAVE起動ショートカットアイコンにプロファイルを設定するには
Windowsのデスクトップで、WAVE2006のアイコン を右クリックし、ショートカットメニューから【プロパティ】を選びます。「WAVE2006 のプロパティ」ダイアログボックスが表示されます。
「ショートカット」タブをクリックします
51
1
2
3
その他の環境設定を変更する
■旧バージョンでカスタマイズしたメニューをお使いになるには
●メニューファイルの書き換え
カスタマイズしたメニューファイル(MNU)をエディタ(Myfes、メモ帳など)で開き、以下の文字列を置換します。
1 全ての ICON_16 → RCDATA_16 に置換する2 全ての ICON_32 → RCDATA_16 に置換する3 全ての ICON_24 → RCDATA_16 に置換する
置換完了後、名前を付けて保存します。(拡張子はMNU)
●書き換えたメニューファイルを読み込み
WAVE2006を起動します。
コマンドラインに“MENU”と入力しコマンドを実行します。
ファイル選択ダイアログでメニューの種類を旧形式メニューテンプレートにします。
書き換えたMNUファイルを選択し「開く」ボタンをクリックします。読み込み後、アイコンメニューの中に?表示となるものがあります。(例:電卓、上空表示、円等)CUIコマンドを実行して修正します。
コマンドラインに“CUI”と入力しコマンドを実行します。左上のメインCUI内のカスタマイズ(①)を「メインCUI(カスタマイズ.CUI)」」に設定します。
①
②
③
52
●上空表示のアイコン表示を修正
コマンド一覧(②)から[上空表示]を選択します。右側のプロパティ項目のイメージ(③)・小さいイメージ、大きいイメージの内容を修正します。
修正前:RCDATA_16_AERIAL修正後:Airplane.bmp(小さいイメージ、大きいイメージともに置換します。)
●電卓のアイコン表示を修正
コマンド一覧(②)から[電卓]を選択します。右側のプロパティ項目のイメージ(③)・小さいイメージ、大きいイメージの内容を修正します。
修正前:RCDATA_16_ AERIAL修正後:RCDATA_16_ QCALC(小さいイメージ、大きいイメージともに置換します。)
●円のアイコン表示を修正
コマンド一覧(②)から[円]を選択します。右側のプロパティ項目のイメージ(③)・小さいイメージ、大きいイメージの内容を修正します。
修正前:RCDATA_16_AERIAL修正後:RCDATA_16_CIRRAD(小さいイメージ、大きいイメージともに置換します。)
●PURGEコマンドの記述を修正
旧バージョンのメニューをカスタマイズしている場合、PURGEコマンドを実行するとARC(円弧)コマンドになるケースがあります。メニューファイルをエディタで開いて以下のように修正してください。
修正前:^c^cPurge修正後:^c^c-Purge
53
■AutoCAD2006のオンラインアップデート
AutoCAD2006を起動するとステータスバー(タスクバー)右端にコミュニケーションセンターアイコンが表示されます。インターネットを通じてAutoCAD2006の自動アップデートができます。
コミュニケーション センターは、次の情報を直接ご案内する情報チャネルです。
・製品関連情報: 製品関連のアナウンスやオートデスクからのニュースを直接ご案内します。これらの情報をご参考に、オートデスクやパートナー各社にお問い合わせください。
・製品サポート情報:オートデスクの製品サポート チームからの最新情報をご案内します。
・Subscription、Extension に関する情報:オートデスクの Subscription メンバーの方には、最新の Subscription 関連の情報を直接ご案内します(オートディスクの Subscription が提供されている国または地域でご利用いただけます)。
・ニュース記事とヒント集:オートデスクの Web サイトで公開されるヒント集やニュース記事の情報をご案内します。
[ようこそ]ウィザードを使用して、国/地域、希望するアップデート頻度、表示する情報チャネルなど、コミュニケーション センターの設定を行います。
コミュニケーション センターを開くには、ステータス バーの右側のトレイに表示されているコミュニケーション センターのアイコンをクリックします。
■コミュニケーション センターのオンライン プライバシー
コミュニケーション センターはオンラインで提供する機能です。したがって、コンテンツや関連情報を入手するためには、インターネットへの接続が必要です。 オートデスクから適切な情報をご案内するために、接続時にコミュニケーション センター宛てに情報が転送されます。 すべての情報は、プライバシーを保護するために匿名で送信されます。
次の情報がオートデスクに送信されます。・製品名: コミュニケーション センターを使用している製品の名前 ・製品のリリース番号: 製品のバージョン ・製品の言語: 製品の言語のバージョン ・国/地域: コミュニケーション センターの設定で指定された国/地域 ・Subscription Contract Number: [エラー報告]ダイアログ ボックスで入力してオートデスクに送信した情報
オートデスクはコミュニケーション センターの使用状況と更新状況のモニタリングを行うために、コミュニケーション センター宛てに送信された情報を収集します。 オートデスクは、http://www.autodesk.co.jp/privacy で公示されている会社のプライバシー ポリシーに従って、ユーザから提供された情報や収集した情報を 保持します。
54
■コミュニケーション センターの有効/無効を切り替える
コミュニケーション センターの有効/無効を切り替えるには、CAD 管理者コントロール ユーティリティを使用します。 たとえば、コミュニケーション センターによってオートデスクに情報が送信されないようにするには、コミュニケーション センターを無効にします。
このユーティリティの使用方法については、ユーティリティをインストールして起動し、次に[CAD 管理者コントロール ユーティリティ]ウィンドウで[ヘルプ]をクリックします。コミュニケーション センターアイコンをクリックすると次のようなダイアログが表示されます。