Page 176 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼線色一括変更 自営W 16/04/03(日) 10:08 ┣Re(1):線色一括変更 Fu〜 16/04/04(月) 23:29 ┃ ┗Re(2):線色一括変更 自営W 16/04/05(火) 8:51 ┣Re(1):線色一括変更 フジタニ 16/04/05(火) 11:00 ┃ ┗Re(2):線色一括変更 自営W 16/04/05(火) 12:33 ┣Re(1):線色一括変更 mirror 16/04/05(火) 17:17 ┃ ┗Re(2):線色一括変更 自営W 16/04/06(水) 10:11 ┃ ┗Re(3):線色一括変更 mirror 16/04/06(水) 11:01 ┃ ┗Re(4):線色一括変更 自営W 16/04/06(水) 14:21 ┃ ┗Re(5):線色一括変更 mirror 16/04/06(水) 15:32 ┃ ┗Re(6):線色一括変更 自営W 16/04/06(水) 17:34 ┃ ┣Re(7):線色一括変更 O.M 16/04/06(水) 21:11 ┃ ┃ ┗Re(8):線色一括変更 自営W 16/04/07(木) 9:15 ┃ ┃ ┗Re(9):線色一括変更 O.M 16/04/07(木) 23:35 ┃ ┃ ┗Re(10):線色一括変更 自営W 16/04/08(金) 12:29 ┃ ┣Re(7):線色一括変更 LA 16/04/06(水) 23:57 ┃ ┃ ┗Re(8):線色一括変更 自営W 16/04/07(木) 9:39 ┃ ┗ご報告 自営W 16/04/07(木) 12:02 ┃ ┗Re(1):ご報告 mirror 16/04/08(金) 8:45 ┃ ┗Re(2):ご報告 自営W 16/04/08(金) 11:13 ┃ ┣Re(3):ご報告 自営W 16/04/08(金) 12:15 ┃ ┃ ┗Re(4):ご報告 O.M 16/04/09(土) 1:26 ┃ ┃ ┗Re(5):ご報告 kojima 16/04/10(日) 16:47 ┃ ┃ ┗Re(6):ご報告 O.M 16/04/10(日) 22:50 ┃ ┃ ┣Re(7):ご報告 kojima 16/04/10(日) 23:51 ┃ ┃ ┃ ┗Re(8):ご報告 O.M 16/04/11(月) 6:02 ┃ ┃ ┗Re(7):ご報告 kojima 16/04/11(月) 12:12 ┃ ┃ ┗Re(8):ご報告 O.M 16/04/11(月) 18:14 ┃ ┗Re(3):ご報告 mirror 16/04/08(金) 12:43 ┃ ┗Re(4):ご報告 自営W 16/04/08(金) 14:51 ┗希望動作まではいかないのですが… O.M 16/04/09(土) 0:24 ┣願いが叶いました! 自営W 16/04/09(土) 9:36 ┣Re(1):希望動作まではいかないのですが… kojima 16/04/11(月) 13:41 ┃ ┗Re(2):希望動作まではいかないのですが… O.M 16/04/13(水) 1:13 ┃ ┗Re(3):希望動作まではいかないのですが… kojima 16/04/13(水) 9:38 ┃ ┗Re(4):希望動作まではいかないのですが… O.M 16/04/13(水) 12:28 ┗その後の動作報告です。 自営W 16/04/12(火) 11:22 ┗Re(1):その後の動作報告です。 O.M 16/04/13(水) 1:06 ┗ありがとうございました。 自営W 16/04/13(水) 8:40 ┗Re(1):ありがとうございました。 O.M 16/04/13(水) 12:22 ─────────────────────────────────────── ■題名 : 線色一括変更 ■名前 : 自営W ■日付 : 16/04/03(日) 10:08 -------------------------------------------------------------------------
サイズの異なる既成の線を一括で希望の色に(サイズを維持しつつ)変更できる外部変形を探しております。ご教授お願いします。 |
▼自営Wさん: > サイズの異なる既成の線 とは,具体的にどんな線でしょうか? |
▼Fu〜さん: >▼自営Wさん: > >> サイズの異なる既成の線 > >とは,具体的にどんな線でしょうか? 不十分な説明ですみません。 サイズとは線幅のことです。 図の一部分を任意の色に変更したいのですが一括線色変更を行うと 線幅も同一に変更されてしまいますので (こうならない方法を知らないだけかも?) 一幅の線ごとに変換しております。 これが一発でできるのであれば幸いなのですが・・・ |
▼自営Wさん: >サイズの異なる既成の線を一括で希望の色に(サイズを維持しつつ)変更できる外部変形を探しております。ご教授お願いします。 範囲コマンドで出来ますよ。 範囲指定後属性変更の指定【線色】に変更 〈線幅〉変更にチェックを入れない |
▼フジタニさん: >▼自営Wさん: >>サイズの異なる既成の線を一括で希望の色に(サイズを維持しつつ)変更できる外部変形を探しております。ご教授お願いします。 > >範囲コマンドで出来ますよ。 >範囲指定後属性変更の指定【線色】に変更 >〈線幅〉変更にチェックを入れない SXF対応拡張線色・線種にチェックが入った線で描かれた図はできますが、 入らなくて(規定値では当然、線色は黒のみ)描かれた図はできないようですが・・・ |
▼自営Wさん: 通常では、線を単独で指定して線幅を設定していると思いますが その場合であれば、単純に線種の線色を変更してやれば良さそうです https://youtu.be/TskCINWFWsc 今回は、基本設定の線色で線幅を設定している場合でしょうか? 同様にして、線種の線色を変更しても線幅は変更されないはずですが 質問の内容が、いまひとつ理解できていない状態です |
▼mirrorさん: >▼自営Wさん: >通常では、線を単独で指定して線幅を設定していると思いますが >その場合であれば、単純に線種の線色を変更してやれば良さそうです >https://youtu.be/TskCINWFWsc >今回は、基本設定の線色で線幅を設定している場合でしょうか? >同様にして、線種の線色を変更しても線幅は変更されないはずですが >質問の内容が、いまひとつ理解できていない状態です 質問内容が明確にお伝えできてなくて申し訳ありません。 SXF対応拡張線色・線種にチェックが入ってない状態の数種の線(線幅は一切変更 せずの状態)で描かれた図の一部分を黒色から、例えば赤色に変更する場合、 一括変更では、変えようとする赤線色の線幅をAとして (色変更なので線幅はこの際どうでもいいのですが) 変更すると線幅がすべて線幅Aになってしまいます。こうならないで一括で 元の線幅を維持しつつ色変更できればとの思いです。 なお、JW使用バージョンは7.04です。 環境設定ファイル 「S_COMM_2」 2.の項 -100 と設定してます。 |
▼自営Wさん: フジタニさんのレスにもありますが 範囲選択後の属性変更で、[<線幅>変更]にチェック無しでできるはずです 前述の操作サンプルでも操作しています jw_win.jwfの記述についてですが # ※「S_COMM_2」の2.を(-1〜-100)設定した場合、 # プリンタ出力色設定の4.線幅を単位1/Nmm単位でで記述する とありますので、S_COMM_2の全文とPCOLLOR_を教えてください 不具合なのかどうか、再現してみたいと思います 当方環境は下記の状態で、特に問題ありません 又、Jw_cadの最新verは8.01bとなっています 特に支障が無いなら、最新verでの利用をお勧め致します S_COMM_2 = 0 -100 0 1 1 0 1 0 0 # (R) (G) (B) (W) (PR) PCOLLOR_1 = 0 192 192 8 0.20 PCOLLOR_2 = 0 0 0 28 0.30 PCOLLOR_3 = 0 192 0 8 0.40 PCOLLOR_4 = 192 192 0 8 0.50 PCOLLOR_5 = 192 0 192 8 0.50 PCOLLOR_6 = 0 0 255 8 0.50 PCOLLOR_7 = 0 128 128 8 0.50 PCOLLOR_8 = 255 0 128 8 0.50 PCOLLOR_G = 192 192 192 |
▼mirrorさん: >▼自営Wさん: >フジタニさんのレスにもありますが >範囲選択後の属性変更で、[<線幅>変更]にチェック無しでできるはずです >前述の操作サンプルでも操作しています > >jw_win.jwfの記述についてですが > ># ※「S_COMM_2」の2.を(-1〜-100)設定した場合、 ># プリンタ出力色設定の4.線幅を単位1/Nmm単位でで記述する > >とありますので、S_COMM_2の全文とPCOLLOR_を教えてください >不具合なのかどうか、再現してみたいと思います > >当方環境は下記の状態で、特に問題ありません >又、Jw_cadの最新verは8.01bとなっています >特に支障が無いなら、最新verでの利用をお勧め致します > >S_COMM_2 = 0 -100 0 1 1 0 1 0 0 > ># (R) (G) (B) (W) (PR) >PCOLLOR_1 = 0 192 192 8 0.20 >PCOLLOR_2 = 0 0 0 28 0.30 >PCOLLOR_3 = 0 192 0 8 0.40 >PCOLLOR_4 = 192 192 0 8 0.50 >PCOLLOR_5 = 192 0 192 8 0.50 >PCOLLOR_6 = 0 0 255 8 0.50 >PCOLLOR_7 = 0 128 128 8 0.50 >PCOLLOR_8 = 255 0 128 8 0.50 >PCOLLOR_G = 192 192 192 ご面倒をおかけします。 以下の通りの設定です。 #「S_COMM_2」 # 1.線幅を画面表示倍率に比例して描画 # |0:画面表示倍率には無関係に画面要素の線幅(ドット)で画面表示 # |1:2ドット幅以上の線を画面表示倍率に比例して1ドット〜最大幅で表示 # | (画面表示倍率が1.0のときが基準になる) # | # |2.線描画の最大幅(1〜100)or 線の幅の単位 1/N mm(-1〜-100) # | 画面描画(1.に「1」を指定したとき) # | ( 1〜 100):線幅をドット単位で画面表示 # | (-1〜-100):プリンタ出力の線幅を単位1/Nmm単位で画面表示 # | プリンタ出力 # | ( 1〜 100):プリンタ出力の線幅を ピクセル単位でプリンタ出力 # | (-1〜-100):プリンタ出力の線幅を単位1/Nmm単位でプリンタ出力 # | # | ※(-1〜-100)を指定した場合、プリンタ出力色設定の # | 「PCOLLOR_1」〜「PCOLLOR_8」の4.線幅を1/Nmm単位で記述する # | | # | | # | | 3.プリンタ出力イメージの背景、プリンタ出力基準点位置 # | | 一の位:プリンタ出力イメージの背景を白にする # | | (背景色が白の場合は無効) # | | (0;背景色変更無し 1:背景色を白にする) # | | 十の位:プリンタ出力基準点位置の指定(0:無指定) # | | (環境設定ファイルへの書出しは行えない) # | | 7:左上 8:中上 9:右上 # | | 4:左中 5:中中 6:右中 # | | 1:左下 2:中下 3:右下 # | | | # | | | 4.円周1/4点読取りを、円周1/8点読取りにする # | | | (0:円周1/4点読取り 1:円周1/8点読取り) # | | | | # | | | | 5.初期コマンドをAUTOモードコマンド # | | | | (0:AUTOモードにしない 1:AUTOモードにする) # | | | | | # | | | | | 6.線長取得で円を指示したとき、 # | | | | | 円半径取得を円周長取得にする # | | | | | (0:半径取得 1:円周取得) # | | | | | | # | | | | | | 7.用紙枠を表示する # | | | | | | (0:非表示 1:表示) # | | | | | | | # | | | | | | | 8.クロックメニュー左AM5時の # | | | | | | | 線種変更のときにレイヤ変更 # | | | | | | | (0:変更する 1:変更しない) # | | | | | | | | # ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ S_COMM_2 = 0 -100 51 0 1 0 1 1 0 # ↑ # 9.上書の設定(0:設定しない 1:設定する) # 環境設定ファイルでのみ設定可 # データ・レイヤ等の変更が無い場合、上書を非表示にし、 # レイヤ等の変更があった場合に終了時等で注意表示をする。 #◎プリンタ出力色設定 # プリンタ出力の線色要素設定(0〜255)、線幅(1〜500)及び実点半径(0.1〜10.0) # を記述します。(実際に出力される実点の直径は「半径×2+線幅」になる) # # ※「S_COMM_2」の2.を(-1〜-100)設定した場合、 # プリンタ出力色設定の4.線幅を単位1/Nmm単位でで記述する # # 記述例 # 1. 2. 3. 4. 5. # 赤 緑 青 線幅 実点半径 PCOLLOR_1 = 0 0 0 8 0.20 PCOLLOR_2 = 0 0 0 17 0.30 PCOLLOR_3 = 0 0 0 25 0.40 PCOLLOR_4 = 0 0 0 34 0.60 PCOLLOR_5 = 0 0 0 42 0.70 PCOLLOR_6 = 0 0 0 59 0.90 PCOLLOR_7 = 0 0 0 75 1.2 PCOLLOR_8 = 0 0 0 90 1.4 # グレー ┌プリントのグレー線表示幅(0:元線幅) # │(環境設定ファイルでのみ設定可)(書出し無し) # ↓基本設定の色・画面タグのグレー行に表示される PCOLLOR_G = 192 192 192 0 なお、フジタニさんからもご回答を頂き、新規に作図して一括線色変更してみまし たが、やはり線幅は同一幅にしかできませんでした。 そちらでよろしければ再現出来ますでしょうか? |
▼自営Wさん: 頂いた設定にて試しましたが、当方では正常に動作します 基本設定の[色・画面]タブにある [線幅を表示倍率にして描画]にチェックを入れて 1:線幅が、指定幅で表示されているか確認してください メニューから[範囲選択]を選び、範囲を選択してください [属性変更]を選ぶと、ダイアログが表示されるので [指定【線色】に変更]にチェックを入れると(その他は全てチェック無し) 線属性ダイアログが表示されるので、変更したい色を選択して[Ok]を押し 最初に表示されたダイアログの[Ok]を押して操作完了です 当方では、上記1で確認していた線幅は変わりませんが もし変わるのなら、初めて聞く事案ですので原因は不明です 一度、Jw_cadをアンイストールして、jw_win.jwfも削除し 再インストール後に、再作成して試してみてください |
▼mirrorさん: >▼自営Wさん: >頂いた設定にて試しましたが、当方では正常に動作します > >基本設定の[色・画面]タブにある >[線幅を表示倍率にして描画]にチェックを入れて >1:線幅が、指定幅で表示されているか確認してください > >メニューから[範囲選択]を選び、範囲を選択してください >[属性変更]を選ぶと、ダイアログが表示されるので >[指定【線色】に変更]にチェックを入れると(その他は全てチェック無し) >線属性ダイアログが表示されるので、変更したい色を選択して[Ok]を押し >最初に表示されたダイアログの[Ok]を押して操作完了です > >当方では、上記1で確認していた線幅は変わりませんが >もし変わるのなら、初めて聞く事案ですので原因は不明です >一度、Jw_cadをアンイストールして、jw_win.jwfも削除し >再インストール後に、再作成して試してみてください mirrorさん ありがとうございました。 JM_CADはWIN以前のDOSの頃から長く愛用させてもらってます。 【作者様には大感謝いたしております。】 環境設定ファイルに限らずCAD自体、独自にカスタマイズ (絵柄付ツールバー等)して使用しておりますので個人環境のせいが 多分にあると思われます。このあと、じっくりと検証していくつもりです。 どうもお騒がせいたしました。 Fu〜さん フジタニさん ご回答、ありがとうございました。 |
▼自営Wさん: 勘違いしてたので修正。 jww上部の設定→基本設定→色・画面の線幅を1/100mm単位にするで動作が変わるみたいです。 チェックなし 自営Wさんの動作。 ※おそらくなのですが、線色1〜8、補助線色には、設定→基本設定→色・画面は「設定→基本設定→色・画面」で設定した線幅しか適用されず、個別に線幅を指定することができないっぽいです。 チェックあり 他の方が解答している動作。 ※おそらくですが、線色1〜8、補助線色にも個別に線幅が設定できるようになる。 |
▼O.Mさん: >▼自営Wさん: >勘違いしてたので修正。 > >jww上部の設定→基本設定→色・画面の線幅を1/100mm単位にするで動作が変わるみたいです。 > >チェックなし >自営Wさんの動作。 >※おそらくなのですが、線色1〜8、補助線色には、設定→基本設定→色・画面は「設定→基本設定→色・画面」で設定した線幅しか適用されず、個別に線幅を指定することができないっぽいです。 > >チェックあり >他の方が解答している動作。 >※おそらくですが、線色1〜8、補助線色にも個別に線幅が設定できるようになる。 試していただきありがとうございます。 こちらのCAD環境ではチェックの有無に関係ないようですが・・・ |
▼自営Wさん: ごめんなさい、かなり勘違いをして別の事を試していました。 試した方法は下記でした、ほんとすみません。 【「線幅を1/100mm単位にする」にチェックなし】 1.線色1で線をひく 2.線色8で線をひく 3.設定→基本設定→色・画面→「線幅を1/100mm単位にする」にチェックなしの状態にする→「画面 要素」で線色1の線幅を1にする→「画面 要素」で線色8の線幅を5にする→「線幅を表示倍率に比例して表示」にチェックをいれる。 4.OKを押してjww画面に戻る(線色1と線色8で線幅が異なって表示される) 5.範囲選択で線色1の線と線色8の線を選択→属性変更ボタンクリック→指定線色に変更をクリック→線色3を選択→SXF対応線色・線種にチェック→線幅欄に500と記入→OKを押す 6.線幅を個別していしても、属性変更の設定に「<線幅>変更」のチェックボックスがでてこない。 7.そのままOKを押す。 8.線色は線色3に変更されるが画面に表示されるが線幅は基本設定で設定した線色3の規定値。 ※いろいろいじると「<線幅>変更」のチェックボックスがでてきたりもしますが、出てきた状態でOKを押して線色3に変更しようとも線色3の線幅の画面表示は基本設定で設定した線幅です。 【「線幅を1/100mm単位にする」にチェックあり】 1.線色1で線をひく 2.線色8で線をひく 3.設定→基本設定→色・画面→「線幅を1/100mm単位にする」にチェックありの状態にする→「画面 要素」で線色1の線幅を1にする→「画面 要素」で線色8の線幅を5にする→「線幅を表示倍率に比例して表示」にチェックをいれる。 4.OKを押してjww画面に戻る(線色1と線色8で線幅が異なって表示される) 5.範囲選択で線色1の線と線色8の線を選択→属性変更ボタンクリック→指定線色に変更をクリック→線色3を選択→画面下部に線幅設定の欄ができているので線幅欄に500と記入→OKを押す 7.OKを押す。 8.線色は線色3の線幅が500になっている。 ※書き忘れていましたが、ご希望されている動作の外部変形は私はみたことがないです。 |
▼O.Mさん: >▼自営Wさん: > >ごめんなさい、かなり勘違いをして別の事を試していました。 >試した方法は下記でした、ほんとすみません。 > > >【「線幅を1/100mm単位にする」にチェックなし】 > >1.線色1で線をひく > >2.線色8で線をひく > >3.設定→基本設定→色・画面→「線幅を1/100mm単位にする」にチェックなしの状態にする→「画面 要素」で線色1の線幅を1にする→「画面 要素」で線色8の線幅を5にする→「線幅を表示倍率に比例して表示」にチェックをいれる。 > >4.OKを押してjww画面に戻る(線色1と線色8で線幅が異なって表示される) > >5.範囲選択で線色1の線と線色8の線を選択→属性変更ボタンクリック→指定線色に変更をクリック→線色3を選択→SXF対応線色・線種にチェック→線幅欄に500と記入→OKを押す > >6.線幅を個別していしても、属性変更の設定に「<線幅>変更」のチェックボックスがでてこない。 > >7.そのままOKを押す。 > >8.線色は線色3に変更されるが画面に表示されるが線幅は基本設定で設定した線色3の規定値。 > > >※いろいろいじると「<線幅>変更」のチェックボックスがでてきたりもしますが、出てきた状態でOKを押して線色3に変更しようとも線色3の線幅の画面表示は基本設定で設定した線幅です。 > > >【「線幅を1/100mm単位にする」にチェックあり】 > >1.線色1で線をひく > >2.線色8で線をひく > >3.設定→基本設定→色・画面→「線幅を1/100mm単位にする」にチェックありの状態にする→「画面 要素」で線色1の線幅を1にする→「画面 要素」で線色8の線幅を5にする→「線幅を表示倍率に比例して表示」にチェックをいれる。 > >4.OKを押してjww画面に戻る(線色1と線色8で線幅が異なって表示される) > >5.範囲選択で線色1の線と線色8の線を選択→属性変更ボタンクリック→指定線色に変更をクリック→線色3を選択→画面下部に線幅設定の欄ができているので線幅欄に500と記入→OKを押す > >7.OKを押す。 > >8.線色は線色3の線幅が500になっている。 > > >※書き忘れていましたが、ご希望されている動作の外部変形は私はみたことがないです。 返信の記事に気が付かなくてすみませんでした。 こちらこそ、お手数をおかけして申し訳ないです。 ありがとうございました。 |
▼自営Wさん: こんにちは ここを見落としていませんか? >>通常では、線を単独で指定して線幅を設定していると思いますが 線幅を1/100mm単位にする がOnになっている必要がありますが、 線属性ダイアログで線幅を0以外の状態で作図すると線ごとにその線幅が設定され、基本設定での線色ごとの設定より優先されます。 (ただし、SXF対応拡張線色については、1/100mm単位設定によらず、線ごとの線幅設定が可能です) 逆に言うと、 線属性ダイアログで線幅0のまま作図した線については、線色ごとの線幅ということになりますので、これを<線幅>変更offで指定<線色>に変更 した場合は、変更先の線色の線幅となります。 という具合で、 特に何もしなければ、線ごとの線幅0で作図されていますので、 線色変更後も変更前の線幅を保ちたい場合は、 あらかじめ、<線幅>変更しておく必要があります。 |
▼LAさん: >>通常では、線を単独で指定して線幅を設定していると思いますが 線幅を1/100mm単位にする がOnになっている必要がありますが、 線属性ダイアログで線幅を0以外の状態で作図すると線ごとにその線幅が設定され、基本設定での線色ごとの設定より優先されます。 (ただし、SXF対応拡張線色については、1/100mm単位設定によらず、線ごとの線幅設定が可能です) 逆に言うと、 線属性ダイアログで線幅0のまま作図した線については、線色ごとの線幅ということになりますので、これを<線幅>変更offで指定<線色>に変更 した場合は、変更先の線色の線幅となります。 という具合で、 特に何もしなければ、線ごとの線幅0で作図されていますので、 線色変更後も変更前の線幅を保ちたい場合は、 >あらかじめ、<線幅>変更しておく必要があります。 お教えのとおり、<線幅>変更(規定値と同値など設定)して作図したものであれば 線色変更後も元の線幅通りになりました。 ありがとうございました。 ただ、CAD起動の都度、線幅変更しなければならないようです。 |
mirrorさん: 最新バージョン 8.01b に変更して試してみようとしましたが 当方、XPにてアウトでした。 で、もとのバージョン 7.04をインストールし直して何も加工せず 環境設定ファイルも読み込まずの状態で試みましたが 結果は同じで線幅は同一幅のままでした。 ご報告まで。 |
▼自営Wさん: 線幅を単独で指定した場合には、線幅を維持して変更できたとの事なので 最初のレスを充分理解して貰えずに、ミスリードしたような気がします >>今回は、基本設定の線色で線幅を設定している場合でしょうか? 例えば、基本設定の[色・画面]タブで 線色1・0・192・192・線幅1-----(青色) 線色2・0・192・192・線幅4-----(青色) 線色3・0・192・192・線幅6-----(青色) ・ ・ 線色8・255・0・128・線幅1-----(赤色) という設定をしている場合の話なら 線色1〜3の線を範囲選択し 線色8に属性変更した場合は、変更された線の線幅は1になりますので 例えば、線色3(青色)の線幅6を維持して線の色を赤色にしたいなら 範囲選択から、線色8(赤色)に属性変更するのではなくて 線色3(青色)の、線の色を変更してしまう方法があります つまり、基本設定の[色・画面]タブで、[線色3]のボタンを押して カラー指定ダイアログで、赤色に変更するという方法です 動画サンプルでは、そのような操作も含めて行っていますが 見れてないのかも知れませんね |
▼mirrorさん: >▼自営Wさん: >つまり、基本設定の[色・画面]タブで、[線色3]のボタンを押して >カラー指定ダイアログで、赤色に変更するという方法です お手数おかけしております。 ご指示の方法ですが、その場合、範囲以外の部分も赤色になるようですが よく理解できてないのでしょうか? |
>▼mirrorさん: しつこいようですが質問内容を書き改めてみました。 ここに数種の線幅を持った線(SXF対応拡張線でなく) で描かれた黒一色(線幅・色共、規定値のまま)の図面 【当然カラー印刷しても黒色】の一部分を線幅を維持しつつ、 例えば赤色に変更したいのです。 範囲選択して指定(線色)に変更にチェックするのですが、 すべての線の線幅が同一に変更されます。 これはこちらのCAD環境だけのせいなのでしょうか? 手間をかければ色々な方法で可能ですが、 これが外部変形にて一発で出来ればとの 思いで探しております。 数多くの、皆様の作成された外部変形を、 ありがたく長く使用させて貰っておりますので、未だWIN.XPのPCを 捨て切れません。 バージョン8.01だと可能だとのことですが・・・ |
▼自営Wさん: 自営Wさんのコメントを読んで思い出したんですが、 基本設定で線幅が指定された線色1〜8・色設定は複数で書かれた電気図面を、 図面内の印鑑マークだけ赤・後は黒で印刷してくれと言われ苦労したことがありました。 (私としては全部黒で出力するつもりだった) 思いつく対処方法が、 1.線色を変換 基本設定で線色1〜8にに対する線幅が決められているので、 印刷職が黒になるように線色を黒に変えると線幅情報が変わってしまう為、個々に線幅を設定 2.印刷設定を変更 線色1〜8の印刷色が黒になるように基本設定を書き換え 印鑑のみ赤になるように線色変更 で、どちらをやっても面倒くさいという状況でした。 めったにあることでもないですが、一括で変更できたら確かに楽なので、外部変形があればあれば私もほしいです。 |
>2.印刷設定を変更 >線色1〜8の印刷色が黒になるように基本設定を書き換え >印鑑のみ赤になるように線色変更 > 印鑑の部分だけ、線色102(SXF線色red)に変更すれば 以下の外部変形で、線色102以外の印刷色が黒に変更された コピーファイルを作成して開きます。 (batファイルにrubyスクリプトを記述するタイプの外部変形) @REM プリンタ出力色を変更したコピーファイルの作成 @echo off REM #jww REM #cd REM #hf REM #h0 REM #cカラー出力する線色番号 無指定:102/_/a REM #cカラー出力線幅 無指定:18/_/b REM #e copy jwc_temp.txt temp.txt>nul ruby -x %~f0 temp.txt %1 %2 echo h#>jwc_temp.txt goto end #!ruby -Ks cl_lc=102;lw=18 while ARGV.size>1 case argument=ARGV.pop when /\/a/ cl_lc=argument[2..-1].to_i when /\/b/ lw=argument[2..-1].to_i end end while ARGF.gets if $_ =~ /file=/ file=$'.chomp end end begin i=0 data="" open(file,"rb"){|f|data=f.read} #◎jwwデータの宣言 i += 8 #◎図面のバージョン b_n=data[i,4].unpack("L")[0]; if b_n<420 STDERR.puts "バージョンNO#{b_n}には未対応です。処理を中止します" exit end i += 4 #◎メモ欄の記載文 memo_byte=data[i,1].unpack("C")[0]; i += 1+memo_byte #◎図面サイズ i += 4 #◎レイヤグループ・レイヤ状態 i += 4 0.upto(15){|i1| i += 4;i += 4;i += 8;i += 4 0.upto(15){|i2| i += 4;i += 4 } } #◎ダミー(54バイト) i += 14*4#ダミー #◎寸法関係の設定 i += 4;i += 4;i += 4 j=data[i,4].unpack("L")[0] i += 4;i += 4;i +=4#◎ダミー #◎線描画の最大幅 i += 4 #◎プリンタ出力範囲の原点 i += 8;i += 8 #◎プリンタ出力倍率 i += 8 #◎プリンタ90°回転出力、プリンタ出力基準点位置 i += 4 #◎目盛設定モード i += 4 #◎目盛表示最小間隔ドット i += 8 #◎目盛表示間隔(X,Y) i += 8;i += 8 #◎目盛基準点(X,Y) i += 8;i += 8 #◎レイヤ名・レイヤグループ名 0.upto(15){|i1| 0.upto(15){|i2| byte=data[i,1].unpack("C")[0] i += byte+1 } } 0.upto(15){|i1| byte=data[i,1].unpack("C")[0] i += byte+1 } #◎日影計算の条件 i += 8;i += 8;i += 4;i += 8 #◎天空図の条件 i += 8;i += 8 #◎2.5Dの計算単位(0以外はmm単位で計算) i += 4 #◎保存時の画面倍率(読込むと前画面倍率になる) i += 8;i += 8;i += 8 #◎範囲記憶倍率と基準点(X,Y) i += 8;i += 8;i += 8 #◎マークジャンプ倍率、基準点(X,Y)およびレイヤグループ if b_n.to_f >=300 1.upto(8){|i1| i += 8;i += 8;i += 8;i += 4 } else 1.upto(4){|i1| i += 8;i += 8 } end #◎文字の描画状態(Ver.4.05以降) if b_n.to_f >=300 i += 8#ダミー i += 8#ダミー i += 8#ダミー i += 4#ダミー i += 8#ダミー i += 8#ダミー if b_n.to_f <404 i += 8#ダミー i += 4#ダミー else i += 8 i += 4 end end #◎複線間隔 0.upto(9){|i1|i += 8} #◎両側複線の留線出の寸法 i += 8 #◎色番号ごとの画面表示色、線幅 0.upto(9){|i1| i += 4;i += 4 } #◎色番号ごとのプリンタ出力色、線幅、実点半径 0.upto(9){|i1| if i1 != cl_lc data[i,4]=[0].pack("L") end i += 4 if i1 == cl_lc data[i,4]=[lw].pack("L") end i += 4;i += 8 } #◎線種番号2から9までのパターン、1ユニットのドット数、、プリンタ出力ピッチ 2.upto(9){|i1| i += 4;i += 4;i += 4 } #◎ランダム線1から5までのパターン、画面表示振幅・ピッチ、プリンタ出力振幅・ピッチ 1.upto(5){|i1| i += 4;i += 4;i += 4;i += 4;i += 4 } #◎倍長線種番号6から9までのパターン、1ユニットのドット数、ピッチ、プリンタ出力ピッチ 6.upto(9){|i1| i += 4;i += 4;i += 4;i += 4 } #◎実点を画面描画時の指定半径で描画 i += 4 #◎実点をプリンタ出力時、指定半径で書く i += 4 #◎BitMap・ソリッドを最初に描画する i += 4 #◎逆描画 i += 4 #◎逆サーチ i += 4 #◎カラー印刷 i += 4 #◎レイヤ順の印刷 i += 4 #◎色番号順の印刷 i += 4 #◎レイヤグループまたはレイヤごとのプリンタ連続出力指定 j=data[i,4].unpack("L")[0] i += 4 #◎プリンタ共通レイヤ(表示のみレイヤ)のグレー出力指定 i += 4 #◎印刷時における既定線色の線幅の基準値の「dpi」 i += 4 #◎作図時間(Ver.2.23以降) i += 4 #◎2.5Dの始点位置が設定されている時のフラグ(Ver.2.23以降) i += 4 #◎2.5Dの透視図・鳥瞰図・アイソメ図の視点水平角(Ver.2.23以降) i += 4;i += 4;i += 4 #◎2.5Dの透視図の視点高さ・視点離れ(Ver.2.23以降) i += 8;i += 8 #◎2.5Dの鳥瞰図の視点高さ・視点離れ(Ver.2.23以降) i += 8;i += 8 #◎2.5Dのアイソメ図の視点垂直角(Ver.2.23以降) i += 8 #◎線の長さ指定の最終値(Ver.2.25以降) i += 8 #◎矩形寸法の最終値(Ver.2.25以降) i += 8;i += 8 #◎円半径指定の最終値(Ver.2.25以降) i += 8;i += 4;i += 4 #◎SXF対応拡張線色定義拡張 0.upto(256){|i1| i += 4;i += 4 } 0.upto(256){|i1| lcn_byte=data[i,1].unpack("C")[0] lcn=data[i+1,lcn_byte] i += 1+lcn_byte if i1 != cl_lc-100 data[i,4]=[0].pack("L") end i += 4 if i1 == cl_lc-100 data[i,4]=[lw].pack("L") end i += 4;i += 8 } file2=file+".jww" open(file2,"wb"){|f|f.write data} system("c:\\jww\\jw_win #{file2}") rescue STDERR.puts "エラーが発生しました" end __END__ :end |
▼kojimaさん: ありがとうございます! 自宅PCで試すと 外部変形を実行したjwwと同じファイルが別窓で開くのですが、 色は変更せずDOS窓も開いたままになってしまいました。 rubyのバージョン等からんでいるかとおもうので、 明日会社のPCでも試してみます。 |
▼O.Mさん: >▼kojimaさん: >ありがとうございます! > >自宅PCで試すと >外部変形を実行したjwwと同じファイルが別窓で開くのですが、 >色は変更せずDOS窓も開いたままになってしまいました。 それで正常動作です。 コピーファイル(拡張子.jww.jww)を作成して開きます。 コピーファイルを閉じればDOS窓も閉じます。 色変更とは印刷色の変更だと思ったのですが? カラー印刷にチェックを入れると、線色102のみ赤、その他の線色は黒で印刷。 画面表示色も変える? |
▼kojimaさん: DOS窓が開いたままなので処理の途中なんだろうと誤解して、印刷色を確認してませんでした。 申し訳ありません。 変更されてました! |
▼O.Mさん: >色は変更せずDOS窓も開いたままになってしまいました。 system("c:\\jww\\jw_win #{file2}") の部分を system("start c:\\jww\\jw_win #{file2}") に変更すれば、DOS窓は一瞬開いて閉じます。 |
▼kojimaさん: DOS窓がでなくなりました。 次に同じような要望来た時には素早く対応できそうです。 ありがとうございます! |
▼自営Wさん: >ご指示の方法ですが、その場合、範囲以外の部分も赤色になるようですが その通りです >サイズの異なる既成の線を一括で希望の色に(サイズを維持しつつ)変更・・・ とありましたので、特に範囲を考慮しなければそのような方法もあるという事です ご要望に沿った、外部変形が早く見つかると宜しいですね |
▼mirrorさん: >▼自営Wさん: >>ご指示の方法ですが、その場合、範囲以外の部分も赤色になるようですが >その通りです > >>サイズの異なる既成の線を一括で希望の色に(サイズを維持しつつ)変更・・・ >とありましたので、特に範囲を考慮しなければそのような方法もあるという事です >ご要望に沿った、外部変形が早く見つかると宜しいですね よくわかりました。 ありがとうございました。 |
▼自営Wさん: 面白そうだったのでExcelで外部変形を作ってみました。 ご希望している動作にはならないのですが、多少はらくになるんじゃないかと思いますので、もしよかったらお試しください。 http://nekobasu83.webdeki-bbs.com/nekobasu83_tree_r_52.html ※線色1〜8、補助線色の線幅は自動取得しないので、設定部分に自分で記入する必要があります。 VBdeJWで公開されているコードを使用したら、線色1〜8、補助線色の設定線幅を自動で取得することも可能になりそうな気はします。 ※私はそこまでの挑戦はしないです。 |
▼O.Mさん: >▼自営Wさん: > >面白そうだったのでExcelで外部変形を作ってみました。 >ご希望している動作にはならないのですが、多少はらくになるんじゃないかと思いますので、もしよかったらお試しください。 > >http://nekobasu83.webdeki-bbs.com/nekobasu83_tree_r_52.html >※線色1〜8、補助線色の線幅は自動取得しないので、設定部分に自分で記入する必要があります。 > >VBdeJWで公開されているコードを使用したら、線色1〜8、補助線色の設定線幅を自動で取得することも可能になりそうな気はします。 >※私はそこまでの挑戦はしないです。 試用させてもらいました。 まさに希望通りのものです。 私の場合、ほとんど規定値の線幅で描いてますので 一度、設定すると値が保存設定されますので自動取得されなくても 十分、活用できます。 大いなる感謝です。ありがとうございました。 |
▼O.Mさん: >線色1〜8、補助線色の設定線幅を自動で取得することも可能になりそうな気はします。 ファイルのヘッダー情報にアクセスして、線色番号毎の線幅を取得しています。 @REM 選択データの線幅を維持して線色変更 @echo off REM #jww REM #cd REM #ht10 REM #ht20 REM #ht30 REM #ht40 REM #zz REM #zw REM #zc REM #hf REM #h1 REM #c変更後の線色番号 無指定:8/_/a REM #e copy jwc_temp.txt temp.txt>nul ruby -x %~f0 temp.txt %1 >jwc_temp.txt pause goto end #!ruby -Ks new_lc=8 while ARGV.size>1 case argument=ARGV.pop when /\/a/ new_lc=argument[2..-1].to_i end end while ARGF.gets if $_ =~ /file=/ file=$'.chomp end end lc_lw_h={} begin i=0 data="" open(file,"rb"){|f|data=f.read} #◎jwwデータの宣言 i += 8 #◎図面のバージョン b_n=data[i,4].unpack("L")[0]; if b_n<420 STDERR.puts "バージョンNO#{b_n}には未対応です。処理を中止します" exit end i += 4 #◎メモ欄の記載文 memo_byte=data[i,1].unpack("C")[0]; i += 1+memo_byte #◎図面サイズ i += 4 #◎レイヤグループ・レイヤ状態 i += 4 0.upto(15){|i1| i += 4;i += 4;i += 8;i += 4 0.upto(15){|i2| i += 4;i += 4 } } #◎ダミー(54バイト) i += 14*4#ダミー #◎寸法関係の設定 i += 4;i += 4;i += 4 j=data[i,4].unpack("L")[0] i += 4;i += 4;i +=4#◎ダミー #◎線描画の最大幅 i += 4 #◎プリンタ出力範囲の原点 i += 8;i += 8 #◎プリンタ出力倍率 i += 8 #◎プリンタ90°回転出力、プリンタ出力基準点位置 i += 4 #◎目盛設定モード i += 4 #◎目盛表示最小間隔ドット i += 8 #◎目盛表示間隔(X,Y) i += 8;i += 8 #◎目盛基準点(X,Y) i += 8;i += 8 #◎レイヤ名・レイヤグループ名 0.upto(15){|i1| 0.upto(15){|i2| byte=data[i,1].unpack("C")[0] i += byte+1 } } 0.upto(15){|i1| byte=data[i,1].unpack("C")[0] i += byte+1 } #◎日影計算の条件 i += 8;i += 8;i += 4;i += 8 #◎天空図の条件 i += 8;i += 8 #◎2.5Dの計算単位(0以外はmm単位で計算) i += 4 #◎保存時の画面倍率(読込むと前画面倍率になる) i += 8;i += 8;i += 8 #◎範囲記憶倍率と基準点(X,Y) i += 8;i += 8;i += 8 #◎マークジャンプ倍率、基準点(X,Y)およびレイヤグループ if b_n.to_f >=300 1.upto(8){|i1| i += 8;i += 8;i += 8;i += 4 } else 1.upto(4){|i1| i += 8;i += 8 } end #◎文字の描画状態(Ver.4.05以降) if b_n.to_f >=300 i += 8#ダミー i += 8#ダミー i += 8#ダミー i += 4#ダミー i += 8#ダミー i += 8#ダミー if b_n.to_f <404 i += 8#ダミー i += 4#ダミー else i += 8 i += 4 end end #◎複線間隔 0.upto(9){|i1|i += 8} #◎両側複線の留線出の寸法 i += 8 #◎色番号ごとの画面表示色、線幅 0.upto(9){|i1| i += 4;i += 4 } #◎色番号ごとのプリンタ出力色、線幅、実点半径 0.upto(9){|i1| i += 4 if i1 !=0 lw=data[i,4].unpack("L")[0] lc_lw_h[i1]=lw end i += 4;i += 8 } #◎線種番号2から9までのパターン、1ユニットのドット数、、プリンタ出力ピッチ 2.upto(9){|i1| i += 4 i += 4 i += 4 i += 4 } #◎ランダム線1から5までのパターン、画面表示振幅・ピッチ、プリンタ出力振幅・ピッチ 1.upto(5){|i1| i += 4 i += 4 i += 4 i += 4 i += 4 } #◎倍長線種番号6から9までのパターン、1ユニットのドット数、ピッチ、プリンタ出力ピッチ 6.upto(9){|i1| i += 4 i += 4 i += 4 i += 4 } #◎実点を画面描画時の指定半径で描画 i += 4 #◎実点をプリンタ出力時、指定半径で書く i += 4 #◎BitMap・ソリッドを最初に描画する i += 4 #◎逆描画 i += 4 #◎逆サーチ i += 4 #◎カラー印刷 i += 4 #◎レイヤ順の印刷 i += 4 #◎色番号順の印刷 i += 4 #◎レイヤグループまたはレイヤごとのプリンタ連続出力指定 i += 4 #◎プリンタ共通レイヤ(表示のみレイヤ)のグレー出力指定 j=data[i,4].unpack("L")[0] i += 4 #◎印刷時における既定線色の線幅の基準値の「dpi」 i += 4 #◎作図時間(Ver.2.23以降) i += 4 #◎2.5Dの始点位置が設定されている時のフラグ(Ver.2.23以降) i += 4 #◎2.5Dの透視図・鳥瞰図・アイソメ図の視点水平角(Ver.2.23以降) i += 4 i += 4 i += 4 #◎2.5Dの透視図の視点高さ・視点離れ(Ver.2.23以降) i += 8 i += 8 #◎2.5Dの鳥瞰図の視点高さ・視点離れ(Ver.2.23以降) i += 8 i += 8 #◎2.5Dのアイソメ図の視点垂直角(Ver.2.23以降) i += 8 #◎線の長さ指定の最終値(Ver.2.25以降) i += 8 #◎矩形寸法の最終値(Ver.2.25以降) i += 8 i += 8 #◎円半径指定の最終値(Ver.2.25以降) i += 8 i += 4 i += 4 #◎SXF対応拡張線色定義拡張 0.upto(256){|i1| i += 4 i += 4 } 0.upto(256){|i1| lcn_byte=data[i,1].unpack("C")[0] i += 1+lcn_byte i += 4 lw=data[i,4].unpack("L")[0] lc_lw_h[i1+100]=lw i += 4 i += 8 } rescue STDERR.puts "エラーが発生しました" exit end puts "hd" open("temp.txt","r"){|f| while f.gets case $_ when /^hq/ when /^lc/ lc=$_[2..-1].chomp.to_i when /^lw/ lw=$_[2..-1].chomp.to_i when /^\s|^ci/ puts "lc#{new_lc}" if lw==0 new_lw=lc_lw_h[lc] puts "lw#{new_lw}" else puts "lw#{lw}" end print $_ else print $_ end end } __END__ :end |
▼kojimaさん: 快適に変換できました、こちらも使用させていただきます。 ありがとうございます! 欲を言ってしまうと、文字色・寸法線・寸法線色同時変換機能もあると非常にうれしいので、もしよろしければ作成していただきたいです。 一瞬だけですが、動かないというコメントをみたようなきがするので… pauseの1行を削除したらDOS画面での一時停止がなくなります。 |
▼O.Mさん: >欲を言ってしまうと、文字色・寸法線・寸法線色同時変換機能もあると非常にうれしいので、もしよろしければ作成していただきたいです。 文字色・寸法線・寸法線色 変更対応版です。 尚、スレ主さん要望の切り取り変換となると、範囲内消去と範囲外消去の外部変形とを合わせて3個の外部変形の組み合わせとなり、3,000行くらいの巨大なファイルになるので掲示板への記載は不可となります。 @REM 選択データの線幅を維持して線色変更 @echo off REM #jww REM #cd REM #ht10 REM #ht20 REM #ht40 REM #zz REM #zw REM #zc REM #hf REM #h1 REM #c変更後の線色番号 無指定:8/_/a REM #e copy jwc_temp.txt temp.txt>nul ruby -x %~f0 temp.txt %1 >jwc_temp.txt pause goto end #!ruby -Ks new_lc=8 while ARGV.size>1 case argument=ARGV.pop when /\/a/ new_lc=argument[2..-1].to_i end end while ARGF.gets if $_ =~ /file=/ file=$'.chomp end end lc_lw_h={} begin i=0 data="" open(file,"rb"){|f|data=f.read} #◎jwwデータの宣言 i += 8 #◎図面のバージョン b_n=data[i,4].unpack("L")[0]; if b_n<420 STDERR.puts "バージョンNO#{b_n}には未対応です。処理を中止します" exit end i += 4 #◎メモ欄の記載文 memo_byte=data[i,1].unpack("C")[0]; i += 1+memo_byte #◎図面サイズ i += 4 #◎レイヤグループ・レイヤ状態 i += 4 0.upto(15){|i1| i += 4;i += 4;i += 8;i += 4 0.upto(15){|i2| i += 4;i += 4 } } #◎ダミー(54バイト) i += 14*4#ダミー #◎寸法関係の設定 i += 4;i += 4;i += 4 j=data[i,4].unpack("L")[0] i += 4;i += 4;i +=4#◎ダミー #◎線描画の最大幅 i += 4 #◎プリンタ出力範囲の原点 i += 8;i += 8 #◎プリンタ出力倍率 i += 8 #◎プリンタ90°回転出力、プリンタ出力基準点位置 i += 4 #◎目盛設定モード i += 4 #◎目盛表示最小間隔ドット i += 8 #◎目盛表示間隔(X,Y) i += 8;i += 8 #◎目盛基準点(X,Y) i += 8;i += 8 #◎レイヤ名・レイヤグループ名 0.upto(15){|i1| 0.upto(15){|i2| byte=data[i,1].unpack("C")[0] i += byte+1 } } 0.upto(15){|i1| byte=data[i,1].unpack("C")[0] i += byte+1 } #◎日影計算の条件 i += 8;i += 8;i += 4;i += 8 #◎天空図の条件 i += 8;i += 8 #◎2.5Dの計算単位(0以外はmm単位で計算) i += 4 #◎保存時の画面倍率(読込むと前画面倍率になる) i += 8;i += 8;i += 8 #◎範囲記憶倍率と基準点(X,Y) i += 8;i += 8;i += 8 #◎マークジャンプ倍率、基準点(X,Y)およびレイヤグループ if b_n.to_f >=300 1.upto(8){|i1| i += 8;i += 8;i += 8;i += 4 } else 1.upto(4){|i1| i += 8;i += 8 } end #◎文字の描画状態(Ver.4.05以降) if b_n.to_f >=300 i += 8#ダミー i += 8#ダミー i += 8#ダミー i += 4#ダミー i += 8#ダミー i += 8#ダミー if b_n.to_f <404 i += 8#ダミー i += 4#ダミー else i += 8 i += 4 end end #◎複線間隔 0.upto(9){|i1|i += 8} #◎両側複線の留線出の寸法 i += 8 #◎色番号ごとの画面表示色、線幅 0.upto(9){|i1| i += 4;i += 4 } #◎色番号ごとのプリンタ出力色、線幅、実点半径 0.upto(9){|i1| i += 4 if i1 !=0 lw=data[i,4].unpack("L")[0] lc_lw_h[i1]=lw end i += 4;i += 8 } #◎線種番号2から9までのパターン、1ユニットのドット数、、プリンタ出力ピッチ 2.upto(9){|i1| i += 4 i += 4 i += 4 i += 4 } #◎ランダム線1から5までのパターン、画面表示振幅・ピッチ、プリンタ出力振幅・ピッチ 1.upto(5){|i1| i += 4 i += 4 i += 4 i += 4 i += 4 } #◎倍長線種番号6から9までのパターン、1ユニットのドット数、ピッチ、プリンタ出力ピッチ 6.upto(9){|i1| i += 4 i += 4 i += 4 i += 4 } #◎実点を画面描画時の指定半径で描画 i += 4 #◎実点をプリンタ出力時、指定半径で書く i += 4 #◎BitMap・ソリッドを最初に描画する i += 4 #◎逆描画 i += 4 #◎逆サーチ i += 4 #◎カラー印刷 i += 4 #◎レイヤ順の印刷 i += 4 #◎色番号順の印刷 i += 4 #◎レイヤグループまたはレイヤごとのプリンタ連続出力指定 i += 4 #◎プリンタ共通レイヤ(表示のみレイヤ)のグレー出力指定 j=data[i,4].unpack("L")[0] i += 4 #◎印刷時における既定線色の線幅の基準値の「dpi」 i += 4 #◎作図時間(Ver.2.23以降) i += 4 #◎2.5Dの始点位置が設定されている時のフラグ(Ver.2.23以降) i += 4 #◎2.5Dの透視図・鳥瞰図・アイソメ図の視点水平角(Ver.2.23以降) i += 4 i += 4 i += 4 #◎2.5Dの透視図の視点高さ・視点離れ(Ver.2.23以降) i += 8 i += 8 #◎2.5Dの鳥瞰図の視点高さ・視点離れ(Ver.2.23以降) i += 8 i += 8 #◎2.5Dのアイソメ図の視点垂直角(Ver.2.23以降) i += 8 #◎線の長さ指定の最終値(Ver.2.25以降) i += 8 #◎矩形寸法の最終値(Ver.2.25以降) i += 8 i += 8 #◎円半径指定の最終値(Ver.2.25以降) i += 8 i += 4 i += 4 #◎SXF対応拡張線色定義拡張 0.upto(256){|i1| i += 4 i += 4 } 0.upto(256){|i1| lcn_byte=data[i,1].unpack("C")[0] i += 1+lcn_byte i += 4 lw=data[i,4].unpack("L")[0] lc_lw_h[i1+100]=lw i += 4 i += 8 } rescue STDERR.puts "エラーが発生しました" exit end puts "hd" zno = -1 hcw=[];hch=[];hcd=[] open("temp.txt","r"){|f| while f.gets xy=$_.split case $_ when /^hq/ when /^hcw/ xy.each{|item|hcw<<item.to_f} when /^hch/ xy.each{|item|hch<<item.to_f} when /^hcd/ xy.each{|item|hcd<<item.to_f} when /^cn\d/ if xy.size==1 i=xy[0][2..-1].to_i puts "cn0 #{hcw[i]} #{hch[i]} #{hcd[i]} #{new_lc}" else puts "cn0 #{xy[1]} #{xy[2]} #{xy[3]} #{new_lc}" end when /^pn\d/ puts "pn#{new_lc}" when /^lc/ lc=$_[2..-1].chomp.to_i when /^lw/ lw=$_[2..-1].chomp.to_i when /^z\d/ zz=$_.chomp zno=f.lineno when /^\s|^ci/ puts "lc#{new_lc}" if lw==0 new_lw=lc_lw_h[lc] puts "lw#{new_lw}" else puts "lw#{lw}" end puts zz if f.lineno==zno+1 print $_ when /^c[hvsroptkz2]|^pt/ puts zz if f.lineno==zno+1 print $_ else print $_ end end } __END__ :end |
▼kojimaさん: とても快適に作業できます。 ご対応いただきありがとうございます! とてもうれしいです。 |
O.Mさん: 動作報告です。 別のPC(WIN-7)にVersion 8.01b をインストールして試してみました。 やはりSXF対応拡張線色でない線色1〜線色8で描いた線は 範囲選択して指定【線色】のみに変更しても線幅は下位(Version 7.04)の JWWと同じく線幅が同一幅に変更なりました。 ただし、線色1〜線色8の線幅を変更して書いた場合の線は線幅は元の幅を 維持しておりました。 またSXF対応拡張線色の場合、幅変更した、しないにかかわらず 元の幅のまま色変更されました。(Version 7.04の場合も同じ動作) なのでO.Mさんの作成された外変では線色1〜線色8の規定値を一度、 入力さえしておけば、変換部分の元線幅を取得しなくても、 どんな線幅の線にも対応することになりますね。 ほんとうに作成いただきありがとうございました。 欲を言わせてもらえば、範囲選択で切り取り選択、ついでに 文字色同時色変更できればと・・・、 すみません。好き勝手なことを申しあげて・・・ |
▼自営Wさん: 切り取りはデータの分割が必要なので、面白そうですが私にはかなり難しいのでできないです。 文字変換機能はおもしろそうでしたしできる範囲だったので追加してみました。 http://nekobasu83.webdeki-bbs.com/nekobasu83_tree_r_52.html ただ、作ったあとで気がついたんですが手作業で変換したほうがはやいんじゃないかというくらい変換に時間がかかります…。 自分で作ったんですが変換が余りに遅すぎて壊れたのかと疑いました。 データを上げはしましたががぶっちゃけ実用向きではありません。 動作確認は少数のデータでしかおこなっていなかった為気がついてなかったんですが、最初のデータから既に変換速度は遅かったのが、機能を追加して更に悪化したっぽいです。 (最初のデータは間違って削除してしまって手元になく検証はできてません) 高速化は図らず、データごとにひたすら何度も読みこみ書き込み繰り返す作りになってるせいで、高速化を図ろうとすると根本からなおさないといけないっぽいのでこっちも私には荷が重く挑戦する予定はないです。 |
▼O.Mさん: 早速、試用させてもらいました。 変換に時間がかかり余り実用でないかもとのことですが、 こちらのPC環境では変換データー量にもよるでしょうが 数秒で変換されで気になるほどのものではありませんでした。 実際、使用するのが色変換部分【変更部分・留意部分朱書き表示等】 は図のほんの一部分づつですので即変換されて申しぶんありません。 ありがたく利用させていただきます。 ありがとうございました。 |
▼自営Wさん: 自分がやりたいと思った作業(図面のほぼすべてを変換)では時間がかかりすぎ、 自分では使用しないだろうものでしたしもうしわけないのですが、 使用できる範囲だったそうで嬉しいです。 |