<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Fusion - 日本語フォーラムのトピックRe: タイムスタンプ、製作者の証明機能</title>
    <link>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11976674#M13874</link>
    <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/12428943"&gt;@みち&lt;/a&gt;&amp;nbsp;さん。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;具体的な例を。&lt;/P&gt;
&lt;P&gt;言葉としてファイルに”スタンプ”を付けると表現する事にします。&lt;/P&gt;
&lt;P&gt;スクリプトになってしまいますが、こちらを実行するとファイルにスタンプとして&lt;/P&gt;
&lt;P&gt;情報を書き込みます。&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.fusion as fusion
import json
from datetime import datetime as dt

GROUP_NAME = 'stamp_tes1t'
NAME = 'kantoku'

def run(context):
    ui: core.UserInterface = None
    try:
        app: core.Application = core.Application.get()
        ui = app.userInterface

        doc: fusion.FusionDocument = app.activeDocument

        values = {
            'username': app.currentUser.displayName,
            'date': str(dt.now()),
            'ver': doc.version,
            'id': doc.creationId,
        }
        print(json.dumps(values))

        doc.attributes.add(
            GROUP_NAME,
            NAME,
            json.dumps(values),
        )

        ui.messageBox('スタンプを付けました')

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))&lt;/LI-CODE&gt;
&lt;P&gt;スクリプト実行後はこんな感じです。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 263px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216954iBD99B5E388D8AE6F/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;続いて、こちらのスクリプトはスタンプを確認するためのスクリプトです。&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.fusion as fusion
import json

GROUP_NAME = 'stamp_test'
NAME = 'kantoku'

def run(context):
    ui: core.UserInterface = None
    try:
        app: core.Application = core.Application.get()
        ui = app.userInterface

        doc: fusion.FusionDocument = app.activeDocument

        attrGrp = doc.attributes.itemsByGroup(GROUP_NAME)
        if len(attrGrp) &amp;lt; 1:
            ui.messageBox('ファイル内のスタンプが見つかりませんでした')
            return

        attrs = [attr for attr in attrGrp if attr.name == NAME]
        if len(attrs) &amp;lt; 1:
            ui.messageBox('ファイル内のスタンプが見つかりませんでした')
            return

        targetAttr: core.Attribute = attrs[0]
        infos = json.loads(targetAttr.value)

        msgLst = [
            f"スタンプ作者\t\t: {infos['username']}",
            f"スタンプ作成日\t\t: {infos['date']}",
            f"スタンプ時のFusion360\t: Ver{infos['ver']}",
            f"スタンプ時のファイルのID\t: {infos['id']}",
            f"このファイルのID\t\t: {doc.creationId}",
        ]

        ui.messageBox('\n'.join(msgLst))

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))&lt;/LI-CODE&gt;
&lt;P&gt;先程スタンプを付けたファイルで実行するとこんな感じです。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 469px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216955iEDD0E22F66648ED6/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;”スタンプ作者”はFusion360を起動しているアカウント名です。（例では伏せています）&lt;/P&gt;
&lt;P&gt;Fusion360の画面の右上のアイコンにマウスカーソルを置いた際に表示される名前です。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 240px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216956i2E4D61CB8491681C/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;"スタンプ作成日"はスタンプを行った日時です。&lt;/P&gt;
&lt;P&gt;"スタンプ時のFusion360"はスタンプを実行した時の最後に保存された時の&lt;/P&gt;
&lt;P&gt;Fusion360バージョンです。&lt;/P&gt;
&lt;P&gt;"スタンプ時のファイルのID"はスタンプを実行した際のファイル自身のIDです。&lt;/P&gt;
&lt;P&gt;Fusion360のファイルには全てIDが付いています。これは"UUID"と呼ばれる&lt;/P&gt;
&lt;P&gt;ものだと思われ、ほぼ重複する可能性の無いものです。&lt;/P&gt;
&lt;P&gt;（唯一、名前を付けて保存すると同じIDを引き継ぐとドキュメントには記載されて&lt;/P&gt;
&lt;P&gt;いました。）&lt;/P&gt;
&lt;P&gt;"このファイルのID"は今のファイルのIDです。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;新規のファイルを作成し確認用のスクリプトを実行すると、スタンプが無いため&lt;/P&gt;
&lt;P&gt;この様なメッセージが出ます。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 283px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216958iC656805AE61449AA/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;又、スタンプを付けたファイルをエクスポートし、再度開くとこの様に結果になります。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 458px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216959i451411D21BB92290/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;ファイルのIDはエクスポートしたf3dファイルには記載されていない為、&lt;/P&gt;
&lt;P&gt;ファイルを開いた際に再度新たなIDが割り当てられます。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;この仕組みを公開してしまうとあまり効果が無い様な気もしますし、&lt;/P&gt;
&lt;P&gt;知識のある人はスタンプを修正・削除してしまう事も十分可能です。&lt;/P&gt;
&lt;P&gt;しかし、全く表示されることの無い状態でファイルに書き込むため&lt;/P&gt;
&lt;P&gt;通常は気が付かないと思われます。&lt;/P&gt;</description>
    <pubDate>Sat, 20 May 2023 06:52:03 GMT</pubDate>
    <dc:creator>kandennti</dc:creator>
    <dc:date>2023-05-20T06:52:03Z</dc:date>
    <item>
      <title>タイムスタンプ、製作者の証明機能</title>
      <link>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11974855#M13872</link>
      <description>&lt;P&gt;3Dデータ内に自社が製作したデータであることを証明できるタイムスタンプや証明書を埋め込む機能はないでしょうか。&lt;/P&gt;&lt;P&gt;顧客へ提出したデータがネット等に漏洩した際、自社製作のデータであることを証明し契約違反の証拠としたいためです。&lt;/P&gt;</description>
      <pubDate>Fri, 19 May 2023 09:27:55 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11974855#M13872</guid>
      <dc:creator>みち</dc:creator>
      <dc:date>2023-05-19T09:27:55Z</dc:date>
    </item>
    <item>
      <title>Re: タイムスタンプ、製作者の証明機能</title>
      <link>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11974959#M13873</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/12428943"&gt;@みち&lt;/a&gt;&amp;nbsp;さん　こんにちは。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;標準的な機能では製作者名ぐらいでは無いかと思いますが、APIを利用すると&lt;/P&gt;
&lt;P&gt;出来るかも知れません。&lt;/P&gt;
&lt;P&gt;APIでは画面上には出てこない情報をファイルに書き込むことが出来ます。&lt;/P&gt;
&lt;P&gt;（と言う機能が実装されています。もちろんそれを行うアドイン等を作成&lt;/P&gt;
&lt;P&gt;する必要があります。）&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;f3d,f2dだと可能だと思いますが、Step等でエクスポートされたものは判断出来ないです。&lt;/P&gt;</description>
      <pubDate>Fri, 19 May 2023 10:39:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11974959#M13873</guid>
      <dc:creator>kandennti</dc:creator>
      <dc:date>2023-05-19T10:39:34Z</dc:date>
    </item>
    <item>
      <title>Re: タイムスタンプ、製作者の証明機能</title>
      <link>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11976674#M13874</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/12428943"&gt;@みち&lt;/a&gt;&amp;nbsp;さん。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;具体的な例を。&lt;/P&gt;
&lt;P&gt;言葉としてファイルに”スタンプ”を付けると表現する事にします。&lt;/P&gt;
&lt;P&gt;スクリプトになってしまいますが、こちらを実行するとファイルにスタンプとして&lt;/P&gt;
&lt;P&gt;情報を書き込みます。&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.fusion as fusion
import json
from datetime import datetime as dt

GROUP_NAME = 'stamp_tes1t'
NAME = 'kantoku'

def run(context):
    ui: core.UserInterface = None
    try:
        app: core.Application = core.Application.get()
        ui = app.userInterface

        doc: fusion.FusionDocument = app.activeDocument

        values = {
            'username': app.currentUser.displayName,
            'date': str(dt.now()),
            'ver': doc.version,
            'id': doc.creationId,
        }
        print(json.dumps(values))

        doc.attributes.add(
            GROUP_NAME,
            NAME,
            json.dumps(values),
        )

        ui.messageBox('スタンプを付けました')

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))&lt;/LI-CODE&gt;
&lt;P&gt;スクリプト実行後はこんな感じです。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 263px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216954iBD99B5E388D8AE6F/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;続いて、こちらのスクリプトはスタンプを確認するためのスクリプトです。&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.fusion as fusion
import json

GROUP_NAME = 'stamp_test'
NAME = 'kantoku'

def run(context):
    ui: core.UserInterface = None
    try:
        app: core.Application = core.Application.get()
        ui = app.userInterface

        doc: fusion.FusionDocument = app.activeDocument

        attrGrp = doc.attributes.itemsByGroup(GROUP_NAME)
        if len(attrGrp) &amp;lt; 1:
            ui.messageBox('ファイル内のスタンプが見つかりませんでした')
            return

        attrs = [attr for attr in attrGrp if attr.name == NAME]
        if len(attrs) &amp;lt; 1:
            ui.messageBox('ファイル内のスタンプが見つかりませんでした')
            return

        targetAttr: core.Attribute = attrs[0]
        infos = json.loads(targetAttr.value)

        msgLst = [
            f"スタンプ作者\t\t: {infos['username']}",
            f"スタンプ作成日\t\t: {infos['date']}",
            f"スタンプ時のFusion360\t: Ver{infos['ver']}",
            f"スタンプ時のファイルのID\t: {infos['id']}",
            f"このファイルのID\t\t: {doc.creationId}",
        ]

        ui.messageBox('\n'.join(msgLst))

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))&lt;/LI-CODE&gt;
&lt;P&gt;先程スタンプを付けたファイルで実行するとこんな感じです。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 469px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216955iEDD0E22F66648ED6/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;”スタンプ作者”はFusion360を起動しているアカウント名です。（例では伏せています）&lt;/P&gt;
&lt;P&gt;Fusion360の画面の右上のアイコンにマウスカーソルを置いた際に表示される名前です。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 240px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216956i2E4D61CB8491681C/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;"スタンプ作成日"はスタンプを行った日時です。&lt;/P&gt;
&lt;P&gt;"スタンプ時のFusion360"はスタンプを実行した時の最後に保存された時の&lt;/P&gt;
&lt;P&gt;Fusion360バージョンです。&lt;/P&gt;
&lt;P&gt;"スタンプ時のファイルのID"はスタンプを実行した際のファイル自身のIDです。&lt;/P&gt;
&lt;P&gt;Fusion360のファイルには全てIDが付いています。これは"UUID"と呼ばれる&lt;/P&gt;
&lt;P&gt;ものだと思われ、ほぼ重複する可能性の無いものです。&lt;/P&gt;
&lt;P&gt;（唯一、名前を付けて保存すると同じIDを引き継ぐとドキュメントには記載されて&lt;/P&gt;
&lt;P&gt;いました。）&lt;/P&gt;
&lt;P&gt;"このファイルのID"は今のファイルのIDです。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;新規のファイルを作成し確認用のスクリプトを実行すると、スタンプが無いため&lt;/P&gt;
&lt;P&gt;この様なメッセージが出ます。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 283px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216958iC656805AE61449AA/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;又、スタンプを付けたファイルをエクスポートし、再度開くとこの様に結果になります。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 458px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1216959i451411D21BB92290/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;ファイルのIDはエクスポートしたf3dファイルには記載されていない為、&lt;/P&gt;
&lt;P&gt;ファイルを開いた際に再度新たなIDが割り当てられます。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;この仕組みを公開してしまうとあまり効果が無い様な気もしますし、&lt;/P&gt;
&lt;P&gt;知識のある人はスタンプを修正・削除してしまう事も十分可能です。&lt;/P&gt;
&lt;P&gt;しかし、全く表示されることの無い状態でファイルに書き込むため&lt;/P&gt;
&lt;P&gt;通常は気が付かないと思われます。&lt;/P&gt;</description>
      <pubDate>Sat, 20 May 2023 06:52:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11976674#M13874</guid>
      <dc:creator>kandennti</dc:creator>
      <dc:date>2023-05-20T06:52:03Z</dc:date>
    </item>
    <item>
      <title>Re: タイムスタンプ、製作者の証明機能</title>
      <link>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11976720#M13875</link>
      <description>&lt;P&gt;大変ありがとうございます。私には少々ハードルが高いです。まずはプログラミングの勉強をしないと。&lt;/P&gt;&lt;P&gt;fusionの標準機能になってくれると有難いのですが。&lt;/P&gt;</description>
      <pubDate>Sat, 20 May 2023 07:45:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-ri-ben-yuforamu/taimusutanpu-zhi-zuo-zheno-zheng-ming-ji-neng/m-p/11976720#M13875</guid>
      <dc:creator>みち</dc:creator>
      <dc:date>2023-05-20T07:45:59Z</dc:date>
    </item>
  </channel>
</rss>

