モデリングした作品と実際に3Dプリントした作品の見え方の誤差を出来る限り少なくするためにパース設定は大変重要かと思いますが、レンダリングの初期設定項目で焦点距離の設定が出来るのは確認しておりますがこちらはモデリング時に反映されているのでしょうか?
ここ最近(大型のもので特に悩まされます、完成後に…)
個人的にどうも反映されてない気がする(デフォルト設定?のまま)ので投稿させてもらいました。
初期設定画面等でモデリング画面の焦点距離の設定が可能か否か
また、可能な場合はどこで行うのかご教授いただけますと幸いです。
宜しくお願い致します
解決済! 解決策の投稿を見る。
回答者: skuramochi. 解決策の投稿を見る。
回答者: tomo1230. 解決策の投稿を見る。
レンダリング環境の焦点距離は、モデリング環境とは別になります。
また、モデリング環境では[正投影][パース][直交面で正投影]の切り替えはできますが、ここを細かく設定することはできなかったはずです。
ご存知かもしれませんがカメラの設定はビューキューブ右下の三角形からか、画面中央下の表示設定>カメラから変更可能です。
手短な回答でありますが私が把握してる点は以上です。ご参考になれば幸いです。
Naho Usuki
返信ありがとうございます。
切り替えにつきましては問題ないのですが
そこの細かい設定をしたいのでもしご存じの方がいればアドバイスをお願い致します。<(_ _)>
あいにくモデリング時の
パースの焦点距離は90mm固定になっております。
よろしくお願い致します。
神原Θ友徳(かんばらΘとものり)Tomonori Kanbara -JAPAN-
この投稿が参考になりましたら、「いいね」を押してください。
この投稿で問題を解決できましたら、「解決策として承認」ボタンを押してください。
@AKATSUKI_AUBE_Dimension さん、こんにちは。
私も写真を見ながらのモデリングで、形状を確認するために何度もレンダリング画面に切り替える必要があったりして、難儀したことがあります。
端の方は相当というか全く変わりますよね。。。
さて、最近気付いたのですが、APIではカメラの画角を変更することができ、モデリング画面でも反映されました。
そこで、画角または焦点距離を手動で設定するスクリプトを作ってみました。
良かったら使ってみてください。
# Author-skuramochi
# Description-Set the camera's angle of view or focal length.
# -*- coding: utf-8 -*-
import math
import traceback
import adsk.core
import adsk.fusion
from adsk.core import CameraTypes
app = adsk.core.Application.cast(None)
ui = adsk.core.UserInterface.cast(None)
# prj = adsk.core.DataProject.cast(None)
design = adsk.fusion.Design.cast(None)
title = 'SetCameraAoV'
def run(context):
global app, ui, design, title
app = adsk.core.Application.get()
ui = app.userInterface
try:
product = app.activeProduct
design = adsk.fusion.Design.cast(product)
if not design:
ui.messageBox('No active design', title)
return
view = app.activeViewport
cam = view.camera # Get the camera from the active viewport.
cam.isSmoothTransition = True
# cam.isSmoothTransition = False
aov = cam.perspectiveAngle # [radian]
d = 36.0 # image size (horizontal) [mm]
# f = 90.0 # (35mm film equivalent) focal length [mm]
# aov = math.degrees(2 * math.atan(d / 2 / f)) # angle of view (horizontal) [degree]
f = 1 / math.tan(aov / 2) * d / 2 # (35mm film equivalent) focal length [mm]
if cam.cameraType not in (CameraTypes.PerspectiveWithOrthoFacesCameraType, CameraTypes.PerspectiveCameraType):
ui.messageBox("This script doesn't work in Orthographic view.\n"
"Please switch the view to Perspective or Perspective with Ortho Faces first.")
return
result = ui.messageBox(
'Yes = angle of view\nNo = focal length\nCancel = abort',
'Set the camera\'s angle of view or focal length?',
adsk.core.MessageBoxButtonTypes.YesNoCancelButtonType, adsk.core.MessageBoxIconTypes.QuestionIconType)
if result == adsk.core.DialogResults.DialogYes:
(returnValue, cancelled) = ui.inputBox("Input the camera's angle of view [degree].", title, str(math.degrees(aov)))
if cancelled:
return
try:
aov = math.radians(float(returnValue))
except ValueError as e:
ui.messageBox(str(e), "Error", adsk.core.MessageBoxButtonTypes.OKButtonType, adsk.core.MessageBoxIconTypes.CriticalIconType)
return
elif result == adsk.core.DialogResults.DialogNo:
(returnValue, cancelled) = ui.inputBox("Input the camera's (35mm film equivalent) focal length [mm]. (the default is 90mm.)", title, str(f))
if cancelled:
return
try:
f = float(returnValue)
aov = 2 * math.atan(d / 2 / f)
except ValueError as e:
ui.messageBox(str(e), "Error", adsk.core.MessageBoxButtonTypes.OKButtonType, adsk.core.MessageBoxIconTypes.CriticalIconType)
return
else:
return
cam.perspectiveAngle = aov
view.camera = cam
if not cam.isSmoothTransition:
view.refresh()
adsk.doEvents()
except:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()), "Critical",
adsk.core.MessageBoxButtonTypes.OKButtonType, adsk.core.MessageBoxIconTypes.CriticalIconType)
おぉ~、同じ悩みを持っている方がいらっしゃって嬉しいです。(^-^)
早速、スクリプト?使わせてもらいたいのですが
すみません、全くの無知でこれどこかにコピペすれば良いのでしょうか?
お手数をお掛け致しますがご教授の程宜しくお願い致します。
添付のZIPファイルを、
C:\Users\(ユーザ名)\AppData\Roaming\Autodesk\Autodesk Fusion 360\API\Scripts
以下に展開すると、Fusion360の「スクリプトとアドイン」に表示されると思います。(Windowsの場合)
早速のご確認ありがとうございます。
お役に立てて良かったです!
5号機の完成、楽しみにしています!
ちなみに、レンダリング画面に切り替えると、画角がデフォルトに戻ってしまうようですが、
こちらは修正できなそうなので、その度に設定しないといけないようです。
skuramochi 様
このスクリプトあればレンダリング画面へ行くことも
ほとんど無いので全く問題ないです。
が情報としてありがとうございます!
レンダリングから戻った際には注意して再設定するようにいたします。
お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。