仕事のカタマリにようこそ!  [ ログイン | ユーザ登録 ]
フォーラムから検索

機械用3D-CAD SolidWorks非公認のユーザサイトです
 
 
Web katamari.org
仕事のカタマリ
ホーム リンク集 ダウンロード フォーラム(掲示板) FAQ お問い合わせ









フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27)
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 02:38:49
ホーム ヘルプ 検索 ログイン 登録

仕事のカタマリ 掲示板  |  SolidWorks質問、相談  |  SolidWorks操作方法 (議長: webmaster)  |  トピック: 超・初心者です・・・ 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: 超・初心者です・・・  (閲覧数 8096 回)
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
超・初心者です・・・
« 投稿日: 2015/02/07 - 04:01:55 »
引用して返信

例えば、1.x_t と 2.x_t という2つのパラソリッドデータがあったとして、普通に開くと、1.sldprt と 2.sldprt というウインドウが開きます。
この2つのモデルを、新規作成した部品ファイルに挿入するにはどうすればよいのでしょうか?
(assemファイルではなく、部品partファイルに挿入したいのですが・・・可能でしょうか?)

すごく、初歩的な質問で申し訳ないですが・・・宜しくお願いします。
議長に報告する   記録済み
hiropon
Sr. メンバー
****

オフライン

投稿: 84



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #1 投稿日: 2015/02/07 - 07:33:04 »
引用して返信

wasabiさんこんにちは

要約すると
1.sldprt のモデル形状と 2.sldprt のモデル形状を ひとつの
部品ファイルに配置したい(希望の位置に配置)
ということですよね??

私のやり方なのですが、 一旦やはりAssemblyファイルを経由して
しまうのですが、Assemblyファイルでそれぞれを希望の位置に合致
させ その後 結合というコマンドを使って ひとつの部品ファイ
ルに結合します。(結合というキーワードで一度ヘルプで調べてみ
てください

ただし 私もこのやり方が一番効率的なものかは疑問です
もっと パッパ とできないものかと いつも 思っている操作です

ここからは 私の質問になるのですが
たとえば ボディが複数ある部品ファイルがあったとして その中の ひとつのボディを 違う部品ファイルへ パッパと移植 する
ということはできるのでしょうか??

移植さえできれば あとは ボディの移動を駆使すれば 希望の
位置に持っていくのは容易なのですが、 どうしても移植の操作で
Assemblyを経由しているのが 非効率に思えてならないのが現状
です
議長に報告する   記録済み
webmaster
管理人
議長
カタマリの王様!?
*****

オフライン

投稿: 649





プロファイルを見る WWW メールアドレス
Re:超・初心者です・・・
« 返信 #2 投稿日: 2015/02/07 - 12:45:23 »
引用して返信

一旦パラソリッドからSOLIDWORKSの部品に変換済みという前提なら、文字通り「挿入」→「部品」でできると思います。
議長に報告する   記録済み

webmaster (仕事のカタマリ管理人)
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #3 投稿日: 2015/02/08 - 04:54:36 »
引用して返信

お返事ありがとうございます!

私事ですが、転職しまして、SOLIDWORKSを使うことになったのですが、
会社でSOLIDWORKSを使いこなせる方がいなくて、
このレベルの悩みごとで、2ヶ月くらい悩んでいました・・・

回答いただきました、お二方のおかげで無事、問題解決しました。
もっと早くこのサイトを知っていればよかったー!

本当にありがとうございます!
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:超・初心者です・・・
« 返信 #4 投稿日: 2015/02/09 - 13:07:21 »
引用して返信

wasabiさん、はじめまして

単一部品のParasolidデータ(*.x_t)であれば、新規部品で[挿入]→[フィーチャー]→[インポート]で、直接取り込むことができますよ
議長に報告する   記録済み
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #5 投稿日: 2015/02/10 - 03:49:41 »
引用して返信

hisaさん、はじめまして。

ありがとうございます!
この方法は、まさしく私がやりたかった事、そのものでした。
本当に助かりました!
議長に報告する   記録済み
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #6 投稿日: 2015/02/10 - 04:23:10 »
引用して返信

えっと、実は超初心者的な質問がもう一つありまして、

3次元的な曲面上で、+X,-X,+Y,-Y,+Z,-Z方向に、一番出っ張っているポイントに点を打つ方法はありますでしょうか?

質問ばかりで申し訳ないです・・・
 150210.JPG
議長に報告する   記録済み

hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:超・初心者です・・・
« 返信 #7 投稿日: 2015/02/10 - 16:09:20 »
引用して返信

wasabiさん、こんにちは

追加の質問の件は、ベテランでも悩む問題です・・・

いわゆる「バウンディングボックス」を取得する必要があるのですが、僕の知る範囲で一発で情報を得ることはできません。

wasabiさんの添付画像にある方法で、測った最短距離分だけ外側の箱の面をオフセットして3Dスケッチで対象形状の面とオフセットした面に一致するスケッチ点を挿入するのがひとつの方法となりますね。

参照平面の作成で、対象形状に正接する面を作成することも考えましたが、自由曲面の場合は実行できませんでした・・・

他の方法としては、[挿入]→[溶接]→[溶接]で溶接フィーチャーを挿入してから、フィーチャーマネージャーツリー上に現れる「カットリスト」を右クリック→[境界ボックスの作成]を選択することで、対象形状(ボディ)を囲むバウンディングボックスが作成されますが、ご丁寧にボックスサイズが小さくなるように(?)傾いた状態でボックスが作成されます。
(溶接部品の場合、鋼材等の長さを得るために最小となるボックスである必要があるので、機能としては間違っていませんが)
いずれにせよ、最大凸位置を得るためにだけに溶接フィーチャーを挿入するのはナンセンスな気もします。

最終的な方法としては、マクロを使って「バウンディングボックス」を得るしか無くなるのですが、プログラミングスキルが必要です。

とりあえず、SolidWorks APIヘルプにあったサンプル「Get Part Bounding Box Example (VBA)」を使って、バウンディングボックスの対角点を作成するマクロを作成してみました。

これがwasabiさんの目的に合致するものかは分かりませんが、試してみて下さい
 GetBoundingBox2.lzh
議長に報告する   記録済み
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #8 投稿日: 2015/02/11 - 04:46:59 »
引用して返信

hisaさん、ありがとうございます

一番出っ張っているところに点を打つのは、SOLIDWOKSでは、なかなか難しいのですね。

マクロまで作成していただいて、本当にありがとうございます。

ただ、まだマクロの使い方を知らないので、勉強して使ってみます。
議長に報告する   記録済み
hiropon
Sr. メンバー
****

オフライン

投稿: 84



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #9 投稿日: 2015/02/11 - 11:22:14 »
引用して返信

hiroponです
上記では私の今までの非効率なモデリングのやり方を改める
きっかけになりました ありがとうございました

このご質問内容も なかなか難しいものだと思います

マクロを使うならこれかな?と思いました
動作確認はできてません


closestDistance Method (IModelDoc2)

Function ClosestDistance( _
  ByVal Object1 As System.Object, _
  ByVal Object2 As System.Object, _
  ByRef Point1 As System.Object, _
  ByRef Point2 As System.Object _
) As System.Double

これだと 両者の点が返ってくるので 後で スケッチ点を
そのポイントに打てばよいのかな?と思っています

こんなメソッドがあるということは マクロ組まずともコマンド
であるのかな とも思ってしまいますが、、、見つけるに至って
いません
議長に報告する   記録済み
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #10 投稿日: 2015/02/12 - 21:15:27 »
引用して返信

hiroponさん、こんばんは。

この一番出っ張っているポイントに点を打つというのは、
前の職場で使っていたCADにあった機能で、
しばしば使う機会があったのでSOLIDWORKSでも同じ事ができたらいいなぁと思っていました。

ただ、そんなに簡単ではなさそうですね。。。

皆さんのレベルに行くまで、ものすごく長い道のりの気がしていますが・・・
勉強、頑張ります。ありがとうございます!
議長に報告する   記録済み
hiropon
Sr. メンバー
****

オフライン

投稿: 84



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #11 投稿日: 2015/02/12 - 21:26:40 »
引用して返信

hiroponです
いつも Webmasterさんや hisaさん Makoronさん たちに
サンプルでお世話になりぱなっしなので たまには私がサンプルを

Dim swApp As SldWorks.SldWorks

Dim Part As ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim retObject1 As Object
Dim retObject2 As Object

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Dim selmgr As SelectionMgr
Set selmgr = Part.SelectionManager
If (selmgr.GetSelectedObjectCount <> 2) Then

Else
    Set retObject1 = selmgr.GetSelectedObject6(1, -1)
    Set retObject2 = selmgr.GetSelectedObject6(2, -1)

    Dim dis As Double
    Dim pt1 As Variant
   
    Dim pt2 As Variant
   
   
    dis = Part.ClosestDistance(retObject1, retObject2, pt1, pt2)
    Part.SketchManager.Insert3DSketch True
    Dim skPoint As Object
    Set skPoint = Part.SketchManager.CreatePoint(pt1(0), pt1(1), pt1(2))
    Set skPoint = Part.SketchManager.CreatePoint(pt2(0), pt2(1), pt2(2))
    Part.SketchManager.Insert3DSketch False
  skPoint.GetSketch.Name="ClosestDistancePoint"
End If

最短距離ですので 2つ(のオブジェクト)を選択する必要が
あります 
選択が2つでない場合は何もおこならいように組みました。
動作確認は "アセンブリ中の部品(コンポーネント)
の面を選択"で問題ないことを確認しています

距離測定はどのオブジェクトでもいけそうなのですが検証が
必要です
議長に報告する   記録済み
hiropon
Sr. メンバー
****

オフライン

投稿: 84



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #12 投稿日: 2015/02/12 - 21:29:54 »
引用して返信

Wasabiさん
こんばんは

コマンドでもあるかもしれないのですが マクロを作ってみました
実行すると 最短距離と認識した2点に3Dスケッチで点が打たれます

ためしてみてください
議長に報告する   記録済み
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #13 投稿日: 2015/02/12 - 21:30:06 »
引用して返信

また、すみません・・・質問がございます。

私は金型の設計業務に携わっておりまして、
外注さんで設計したデータを頂いて、参照することも多いのですが、
外注さんでレイヤ分けされたデータ(igsデータ)が、SOLIDWORKSで読み込むと、
まったくレイヤ分けされずに、ひとつのサーフェスボディとして表示されてしまったりして、非常に参照しづらい事がよく有ります。

こういった事態に何か対処する方法はあるでしょうか?
議長に報告する   記録済み
hiropon
Sr. メンバー
****

オフライン

投稿: 84



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #14 投稿日: 2015/02/12 - 21:44:05 »
引用して返信

すみません 現物をみたことがないのでいまいちイメージが
わかないのですが
金型屋さんということは お客様より提供いただく3Dデータは
1部品ごとだと思うのですが、組み立て図で提供されるという
ことですか?

それとも Solidworksでいう カットや押し出し等の履歴が
全て消滅している ということをおっしゃっていますか??
議長に報告する   記録済み
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #15 投稿日: 2015/02/13 - 05:02:43 »
引用して返信

hiroponさん

マクロ作成していただきまして、ありがとうございます!
すみません、いただいていた事に、今気付きました(^^;)

それで、レイヤの話なのですが、お客様から頂くデータは確かに1部品で、それを元に、外注の金型屋で金型を設計します。
(外注さんで使っているキャドはSOLIDWORKSではないです・・・)
その金型のモデルが部品ごとにレイヤ分けされているのですが、
SOLIDWORKSでそのモデルを開くと、そのレイヤが無視されてしまうようです。
SOLIDWORKSにはレイヤが無いのでしょうか・・・?

これは、外注さんにお願いして、1部品ずつデータを分けてもらうしか、ないですかね
議長に報告する   記録済み
hiropon
Sr. メンバー
****

オフライン

投稿: 84



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #16 投稿日: 2015/02/15 - 11:08:21 »
引用して返信

hiroponです

返信内容からすると
キャビティやコア、スライドコア その他の要素部品が
全て同一のボディとして あらわされるデータになるということ
ですか?

Solidworksの部品データには 私の知る限りレイヤーという概念
はないと思います。
一度やりとりのデータ形式を変更してみてはいかがでしょうか?
Ex)Iges→Parasorid

それでも解決しない場合は 相手に一点一点部品化してもらうか
しかないと思います


議長に報告する   記録済み
wasabi
新人さん
*

オフライン

投稿: 9



I'm a llama!

プロファイルを見る
Re:超・初心者です・・・
« 返信 #17 投稿日: 2015/02/19 - 03:33:11 »
引用して返信

hiroponさん

返信ありがとうございます!
おっしゃるとおりの悩み事でした。

やはり、レイヤが無いのですね・・・
どうもありがとうございました!
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks質問、相談  |  SolidWorks操作方法 (議長: webmaster)  |  トピック: 超・初心者です・・・ 前のトピック 次のトピック
ジャンプします: