<?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>Inventor - 日本語フォーラムのトピックRe: 参照パラメータを一括でユーザパラメータにコピーする方法はありますか？</title>
    <link>https://forums.autodesk.com/t5/inventor-ri-ben-yuforamu/can-zhaoparametawo-yi-kuodeyuzaparametanikopisuru-fang-fahaarimasuka/m-p/12034989#M1036</link>
    <description>&lt;P&gt;こんにちわ。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13687613"&gt;@atsushi_itoEDC23&lt;/a&gt;&amp;nbsp;さんは書きました:&lt;BR /&gt;
&lt;P&gt;参照パラメータを一括でユーザパラメータにコピーしたいのですが、１個ずつコピーする方法しかわかりません。&lt;/P&gt;
&lt;P&gt;複数選択してコピーする方法はあるのでしょうか？&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;複数の参照パラメーターをユーザーパラメーターにコピーするVBAマクロを作ってみました。&lt;/P&gt;
&lt;P&gt;パラメーターのウインドウではなく、スケッチの寸法を複数選択して以下のマクロを実行してください。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="visual-basic"&gt;Option Explicit

Public Sub CopySelectedReferenceParameterToUserParameter()
    If ThisApplication.ActiveDocument Is Nothing Then
        Exit Sub
    End If
    Dim oParams As Parameters: Set oParams = GetParameters(ThisApplication.ActiveEditDocument)
    If oParams Is Nothing Then
        Exit Sub
    End If
    
    Dim oSelSet As SelectSet: Set oSelSet = ThisApplication.ActiveDocument.SelectSet
    Dim obj As Object
    For Each obj In oSelSet
        If Not TypeOf obj Is DimensionConstraint Then GoTo Continue_For_obj
        Dim oDimConst As DimensionConstraint: Set oDimConst = obj
        If Not oDimConst.Parameter.ParameterType = kReferenceParameter Then GoTo Continue_For_obj
        If Not oDimConst.Parent.Parent Is ThisApplication.ActiveEditDocument.ComponentDefinition Then GoTo Continue_For_obj
        CopyDrivenParameterToUserParameter oDimConst.Parameter, oParams
Continue_For_obj:
    Next obj
End Sub

Private Function GetParameters(oDoc As Document) As Parameters
    If TypeOf oDoc Is AssemblyDocument Then
        Dim oAssyDoc As AssemblyDocument: Set oAssyDoc = oDoc
        Set GetParameters = oAssyDoc.ComponentDefinition.Parameters
        Exit Function
    End If
    If TypeOf oDoc Is DrawingDocument Then
        Dim oDrawingDoc As DrawingDocument: Set oDrawingDoc = oDoc
        Set GetParameters = oDrawingDoc.Parameters
        Exit Function
    End If
    If TypeOf oDoc Is PartDocument Then
        Dim oPartDoc As PartDocument: Set oPartDoc = oDoc
        Set GetParameters = oPartDoc.ComponentDefinition.Parameters
        Exit Function
    End If
    Set GetParameters = Nothing
End Function

Private Sub CopyDrivenParameterToUserParameter(oReferenceParam As Parameter, oParams As Parameters)
    oParams.UserParameters.AddByExpression oReferenceParam.Name &amp;amp; "_コピー", oReferenceParam.Expression, oReferenceParam.Units
End Sub
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;また、ユーザパラメータを複数選択して削除する方法も同じようにできないのでしょうか？&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;[未使用要素を削除]ボタンで対応できませんか。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HideoYamada_0-1686792836725.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1227827i850E35C45E3ACE63/image-size/medium?v=v2&amp;amp;px=400" role="button" title="HideoYamada_0-1686792836725.png" alt="HideoYamada_0-1686792836725.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 15 Jun 2023 01:34:20 GMT</pubDate>
    <dc:creator>HideoYamada</dc:creator>
    <dc:date>2023-06-15T01:34:20Z</dc:date>
    <item>
      <title>参照パラメータを一括でユーザパラメータにコピーする方法はありますか？</title>
      <link>https://forums.autodesk.com/t5/inventor-ri-ben-yuforamu/can-zhaoparametawo-yi-kuodeyuzaparametanikopisuru-fang-fahaarimasuka/m-p/12032244#M1035</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;こんにちは！&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;</description>
      <pubDate>Wed, 14 Jun 2023 03:33:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-ri-ben-yuforamu/can-zhaoparametawo-yi-kuodeyuzaparametanikopisuru-fang-fahaarimasuka/m-p/12032244#M1035</guid>
      <dc:creator>atsushi_itoEDC23</dc:creator>
      <dc:date>2023-06-14T03:33:32Z</dc:date>
    </item>
    <item>
      <title>Re: 参照パラメータを一括でユーザパラメータにコピーする方法はありますか？</title>
      <link>https://forums.autodesk.com/t5/inventor-ri-ben-yuforamu/can-zhaoparametawo-yi-kuodeyuzaparametanikopisuru-fang-fahaarimasuka/m-p/12034989#M1036</link>
      <description>&lt;P&gt;こんにちわ。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13687613"&gt;@atsushi_itoEDC23&lt;/a&gt;&amp;nbsp;さんは書きました:&lt;BR /&gt;
&lt;P&gt;参照パラメータを一括でユーザパラメータにコピーしたいのですが、１個ずつコピーする方法しかわかりません。&lt;/P&gt;
&lt;P&gt;複数選択してコピーする方法はあるのでしょうか？&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;複数の参照パラメーターをユーザーパラメーターにコピーするVBAマクロを作ってみました。&lt;/P&gt;
&lt;P&gt;パラメーターのウインドウではなく、スケッチの寸法を複数選択して以下のマクロを実行してください。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="visual-basic"&gt;Option Explicit

Public Sub CopySelectedReferenceParameterToUserParameter()
    If ThisApplication.ActiveDocument Is Nothing Then
        Exit Sub
    End If
    Dim oParams As Parameters: Set oParams = GetParameters(ThisApplication.ActiveEditDocument)
    If oParams Is Nothing Then
        Exit Sub
    End If
    
    Dim oSelSet As SelectSet: Set oSelSet = ThisApplication.ActiveDocument.SelectSet
    Dim obj As Object
    For Each obj In oSelSet
        If Not TypeOf obj Is DimensionConstraint Then GoTo Continue_For_obj
        Dim oDimConst As DimensionConstraint: Set oDimConst = obj
        If Not oDimConst.Parameter.ParameterType = kReferenceParameter Then GoTo Continue_For_obj
        If Not oDimConst.Parent.Parent Is ThisApplication.ActiveEditDocument.ComponentDefinition Then GoTo Continue_For_obj
        CopyDrivenParameterToUserParameter oDimConst.Parameter, oParams
Continue_For_obj:
    Next obj
End Sub

Private Function GetParameters(oDoc As Document) As Parameters
    If TypeOf oDoc Is AssemblyDocument Then
        Dim oAssyDoc As AssemblyDocument: Set oAssyDoc = oDoc
        Set GetParameters = oAssyDoc.ComponentDefinition.Parameters
        Exit Function
    End If
    If TypeOf oDoc Is DrawingDocument Then
        Dim oDrawingDoc As DrawingDocument: Set oDrawingDoc = oDoc
        Set GetParameters = oDrawingDoc.Parameters
        Exit Function
    End If
    If TypeOf oDoc Is PartDocument Then
        Dim oPartDoc As PartDocument: Set oPartDoc = oDoc
        Set GetParameters = oPartDoc.ComponentDefinition.Parameters
        Exit Function
    End If
    Set GetParameters = Nothing
End Function

Private Sub CopyDrivenParameterToUserParameter(oReferenceParam As Parameter, oParams As Parameters)
    oParams.UserParameters.AddByExpression oReferenceParam.Name &amp;amp; "_コピー", oReferenceParam.Expression, oReferenceParam.Units
End Sub
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;また、ユーザパラメータを複数選択して削除する方法も同じようにできないのでしょうか？&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;[未使用要素を削除]ボタンで対応できませんか。&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HideoYamada_0-1686792836725.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1227827i850E35C45E3ACE63/image-size/medium?v=v2&amp;amp;px=400" role="button" title="HideoYamada_0-1686792836725.png" alt="HideoYamada_0-1686792836725.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2023 01:34:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-ri-ben-yuforamu/can-zhaoparametawo-yi-kuodeyuzaparametanikopisuru-fang-fahaarimasuka/m-p/12034989#M1036</guid>
      <dc:creator>HideoYamada</dc:creator>
      <dc:date>2023-06-15T01:34:20Z</dc:date>
    </item>
  </channel>
</rss>

