<?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>topic Re: Solution to components drifting when scaling entire project? in Fusion API and Scripts Forum</title>
    <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11812029#M4261</link>
    <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5732652"&gt;@awilliamwright&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now that we know the cause of the misalignment, we created a script.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When the script is run, a dialog box appears to enter the scaling ratio, so enter any number.&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.fusion as fusion

def run(context):
    ui = core.UserInterface.cast(None)
    try:
        app: core.Application = core.Application.get()
        ui = app.userInterface

        msg = '\n'.join(
            [
                'Scales all displayed bodies at once.',
                'Enter the scaling ratio.',
            ]
        )

        scale, res = ui.inputBox(
            msg,
            'scaling',
            '0.75',
        )

        if res:
            return

        if not is_float(scale):
            return

        exec_occurrence_show_bodies_scaling(
            float(scale)
        )

        ui.messageBox('Done')

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))


def exec_occurrence_show_bodies_scaling(
    scale: float
) -&amp;gt; None:

    bodyLst: list = get_show_bodies()
    occLst: list = get_occ_list_by_bodies(bodyLst)

    move_occs(occLst, scale)

    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    des.snapshots.add()

    exec_scaling(bodyLst, scale)


def get_unique_bodies(
    bodyLst: list,
) -&amp;gt; list:

    dict = {}

    body: fusion.BRepBody = None
    for body in bodyLst:

        dict.setdefault(
            body.parentComponent.entityToken,
            body,
        )

    return list(dict.values())


def exec_scaling(
    bodyLst: list,
    scale: float,
) -&amp;gt; None:

    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    root: fusion.Component = des.rootComponent

    bodyLstUnique = get_unique_bodies(bodyLst)
    rootBodyLst = [b for b in bodyLst if b.parentComponent == root]
    bodyLstUnique.extend(rootBodyLst)

    objs: core.ObjectCollection = core.ObjectCollection.create()
    [objs.add(occ) for occ in bodyLstUnique]

    scaleFeats: fusion.ScaleFeatures = root.features.scaleFeatures
    scaleIpt: fusion.ScaleFeatureInput = scaleFeats.createInput(
        objs,
        root.originConstructionPoint,
        core.ValueInput.createByReal(scale),
    )
    scaleFeats.add(scaleIpt)


def move_occs(
    occLst: list,
    scale: float,
) -&amp;gt; None:

    occ: fusion.Occurrence = None
    for occ in occLst:
        mat: core.Matrix3D = occ.transform2.copy()
        origin, xAxis, yAxis, zAxis = mat.getAsCoordinateSystem()
        ary = origin.asArray()
        ary = [v * scale for v in ary]
        origin.setWithArray(ary)
        mat.setWithCoordinateSystem(origin, xAxis, yAxis, zAxis)
        occ.transform2 = mat


def get_occ_list_by_bodies(
    bodyLst: list
) -&amp;gt; list:

    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    root: fusion.Component = des.rootComponent

    dict = {}

    body: fusion.BRepBody = None
    for body in bodyLst:
        if body.parentComponent == root:
            continue

        occ: fusion.Occurrence = body.assemblyContext
        dict.setdefault(
            occ.entityToken,
            occ,
        )

    return list(dict.values())


def get_show_bodies() -&amp;gt; list:
    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    root: fusion.Component = des.rootComponent

    bodyLst = root.findBRepUsingPoint(
        core.Point3D.create(0,0,0),
        fusion.BRepEntityTypes.BRepBodyEntityType,
        10000000000,
        True,
    )

    return [b for b in bodyLst]


def is_float(
    txt: str
) -&amp;gt; bool:

    try:
        float(txt)
        return True
    except ValueError:
        return False&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6322274609112w1020h540r913" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6322274609112" data-account="6057940548001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6057940548001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6322274609112w1020h540r913');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://forums.autodesk.com/t5/video/gallerypage/video-id/6322274609112"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The position of the component (occurrence) is moved in advance to be in the proper position after scaling.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 335px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1187032iA30189F1DD0B85C0/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;It is possible that this may not work, as I just checked with the attached data.&lt;/P&gt;</description>
    <pubDate>Fri, 10 Mar 2023 09:00:57 GMT</pubDate>
    <dc:creator>kandennti</dc:creator>
    <dc:date>2023-03-10T09:00:57Z</dc:date>
    <item>
      <title>Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11808141#M4257</link>
      <description>&lt;P&gt;Now, I know WHY this is happening. When I scale a complex project (which has components all over with many instanced copies), some components drift and move incorrectly, so that after the scale the entire project is broken and scattered. I know this is partly because of component-specific origins being out of sync with the project origin, or because I use the "move" tool too much, whatever the case.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, is there a way to trick Fusion into avoiding this problem? There's no point in picking on me for using "bad practices" or any of that nonsense. The deed is done, I'm not changing my workflow regardless, let's move on past that. But is there way to write a script to bypass this issue? Even if all it can do is move the decimal around?&lt;/P&gt;</description>
      <pubDate>Wed, 08 Mar 2023 19:55:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11808141#M4257</guid>
      <dc:creator>awilliamwright</dc:creator>
      <dc:date>2023-03-08T19:55:47Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11808976#M4258</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5732652"&gt;@awilliamwright&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I did not understand the meaning of what you see as the problem.&lt;/P&gt;
&lt;P&gt;Could you please attach as simple as possible f3d/f3z data that is reproducible?&lt;/P&gt;</description>
      <pubDate>Thu, 09 Mar 2023 05:18:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11808976#M4258</guid>
      <dc:creator>kandennti</dc:creator>
      <dc:date>2023-03-09T05:18:53Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11810900#M4259</link>
      <description>&lt;P&gt;&amp;nbsp;I attached a simple project that shows the error, where components drift after scaling. The beam instances were simply move/copied, the slat instances were component-pattern copied, but they both drift in the same way.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Mar 2023 19:33:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11810900#M4259</guid>
      <dc:creator>awilliamwright</dc:creator>
      <dc:date>2023-03-09T19:33:54Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11811664#M4260</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5732652"&gt;@awilliamwright&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for attaching the model.&lt;BR /&gt;I was able to confirm the phenomenon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think that the scaled criteria is always done at the origin of the component to which it belongs, so it does not get to the desired state.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I feel this is probably a Fusion360 specification.&lt;BR /&gt;It may be possible with the API to create a body that does not follow changes, only the result.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Mar 2023 03:42:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11811664#M4260</guid>
      <dc:creator>kandennti</dc:creator>
      <dc:date>2023-03-10T03:42:06Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11812029#M4261</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5732652"&gt;@awilliamwright&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now that we know the cause of the misalignment, we created a script.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When the script is run, a dialog box appears to enter the scaling ratio, so enter any number.&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.fusion as fusion

def run(context):
    ui = core.UserInterface.cast(None)
    try:
        app: core.Application = core.Application.get()
        ui = app.userInterface

        msg = '\n'.join(
            [
                'Scales all displayed bodies at once.',
                'Enter the scaling ratio.',
            ]
        )

        scale, res = ui.inputBox(
            msg,
            'scaling',
            '0.75',
        )

        if res:
            return

        if not is_float(scale):
            return

        exec_occurrence_show_bodies_scaling(
            float(scale)
        )

        ui.messageBox('Done')

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))


def exec_occurrence_show_bodies_scaling(
    scale: float
) -&amp;gt; None:

    bodyLst: list = get_show_bodies()
    occLst: list = get_occ_list_by_bodies(bodyLst)

    move_occs(occLst, scale)

    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    des.snapshots.add()

    exec_scaling(bodyLst, scale)


def get_unique_bodies(
    bodyLst: list,
) -&amp;gt; list:

    dict = {}

    body: fusion.BRepBody = None
    for body in bodyLst:

        dict.setdefault(
            body.parentComponent.entityToken,
            body,
        )

    return list(dict.values())


def exec_scaling(
    bodyLst: list,
    scale: float,
) -&amp;gt; None:

    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    root: fusion.Component = des.rootComponent

    bodyLstUnique = get_unique_bodies(bodyLst)
    rootBodyLst = [b for b in bodyLst if b.parentComponent == root]
    bodyLstUnique.extend(rootBodyLst)

    objs: core.ObjectCollection = core.ObjectCollection.create()
    [objs.add(occ) for occ in bodyLstUnique]

    scaleFeats: fusion.ScaleFeatures = root.features.scaleFeatures
    scaleIpt: fusion.ScaleFeatureInput = scaleFeats.createInput(
        objs,
        root.originConstructionPoint,
        core.ValueInput.createByReal(scale),
    )
    scaleFeats.add(scaleIpt)


def move_occs(
    occLst: list,
    scale: float,
) -&amp;gt; None:

    occ: fusion.Occurrence = None
    for occ in occLst:
        mat: core.Matrix3D = occ.transform2.copy()
        origin, xAxis, yAxis, zAxis = mat.getAsCoordinateSystem()
        ary = origin.asArray()
        ary = [v * scale for v in ary]
        origin.setWithArray(ary)
        mat.setWithCoordinateSystem(origin, xAxis, yAxis, zAxis)
        occ.transform2 = mat


def get_occ_list_by_bodies(
    bodyLst: list
) -&amp;gt; list:

    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    root: fusion.Component = des.rootComponent

    dict = {}

    body: fusion.BRepBody = None
    for body in bodyLst:
        if body.parentComponent == root:
            continue

        occ: fusion.Occurrence = body.assemblyContext
        dict.setdefault(
            occ.entityToken,
            occ,
        )

    return list(dict.values())


def get_show_bodies() -&amp;gt; list:
    app: core.Application = core.Application.get()
    des: fusion.Design = app.activeProduct
    root: fusion.Component = des.rootComponent

    bodyLst = root.findBRepUsingPoint(
        core.Point3D.create(0,0,0),
        fusion.BRepEntityTypes.BRepBodyEntityType,
        10000000000,
        True,
    )

    return [b for b in bodyLst]


def is_float(
    txt: str
) -&amp;gt; bool:

    try:
        float(txt)
        return True
    except ValueError:
        return False&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6322274609112w1020h540r653" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6322274609112" data-account="6057940548001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6057940548001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6322274609112w1020h540r653');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://forums.autodesk.com/t5/video/gallerypage/video-id/6322274609112"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The position of the component (occurrence) is moved in advance to be in the proper position after scaling.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 335px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1187032iA30189F1DD0B85C0/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;It is possible that this may not work, as I just checked with the attached data.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Mar 2023 09:00:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11812029#M4261</guid>
      <dc:creator>kandennti</dc:creator>
      <dc:date>2023-03-10T09:00:57Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11813971#M4262</link>
      <description>&lt;P&gt;Well, either way, thank you so much for taking the time to put that together. I really appreciate that effort, because I'm very green with script writing!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, I am able to get the script to work myself for simpler projects, but when I try and use it on the complex project I'm working on, it doesn't work. Oddly, it shuffles some components around but doesn't scale anything. It's very mysterious. Even stranger, if I click "revert position" after running the script, all the components snap back to where they're supposed to go (but nothing was scaled).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first screenshot is of component drift with the script, the second screenshot is component drift using regular scaling.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mysterious drifting of components when using scaling script" style="width: 999px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1187407i0AB0351F3A62E02C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Scale error.jpg" alt="mysterious drifting of components when using scaling script" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;mysterious drifting of components when using scaling script&lt;/span&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="component drift when using regular scaling" style="width: 999px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1187410i54C392F4A4E30B83/image-size/large?v=v2&amp;amp;px=999" role="button" title="scale error without script.jpg" alt="component drift when using regular scaling" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;component drift when using regular scaling&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Mar 2023 00:31:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11813971#M4262</guid>
      <dc:creator>awilliamwright</dc:creator>
      <dc:date>2023-03-11T00:31:02Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11814477#M4263</link>
      <description>&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Hi Mr AWilliamWright,&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;... scaling components/bodies is one thing ... but in most complex (parametric) models are &lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;operations like offset to face, construction planes, sketch's dims, etc., which are not easily scalable&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;. Well, to be precise, they also could be, but under &lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;the condition&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; that the design process considers such function/requirements and follows &lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;very strict (and costly) design rules.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;However, there is always a ray of &lt;FONT color="#FF9900"&gt;&lt;EM&gt;&lt;STRONG&gt;Sunny Sun Shinning&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;, ... although it might be on a different &lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#993366"&gt;Planet&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;.&lt;BR /&gt;In your case, &lt;FONT color="#FF6600"&gt;&lt;EM&gt;&lt;STRONG&gt;the hope&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; is on the &lt;FONT color="#993366"&gt;&lt;EM&gt;&lt;STRONG&gt;Planet&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; called &lt;FONT color="#993366"&gt;&lt;EM&gt;&lt;STRONG&gt;DirectModeling&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;. The good thing is that it is not that far ... just a click away.&lt;BR /&gt;Convert (save the original first) your design to &lt;FONT color="#993366"&gt;&lt;EM&gt;&lt;STRONG&gt;DM mode&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; and apply the global scale. &lt;FONT color="#FF6600"&gt;&lt;EM&gt;&lt;STRONG&gt;All should come out great&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; ... &lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#FF99CC"&gt;I hope&amp;nbsp;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Regards&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;MichaelT&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Mar 2023 10:14:56 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11814477#M4263</guid>
      <dc:creator>MichaelT_123</dc:creator>
      <dc:date>2023-03-11T10:14:56Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11814672#M4264</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5732652"&gt;@awilliamwright&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Excellent work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I could certainly see cases where it would not work for data with more complex components.&lt;/P&gt;
&lt;P&gt;After consulting with others on the Japanese forum, I learned that exporting with SAT and re-importing will make it component-independent.&lt;BR /&gt;(In the case of Step and Iges, the component relationship is maintained.)&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Probably the easiest way is to export/import and scale with SAT.&lt;/P&gt;</description>
      <pubDate>Sat, 11 Mar 2023 14:10:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11814672#M4264</guid>
      <dc:creator>kandennti</dc:creator>
      <dc:date>2023-03-11T14:10:27Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11818805#M4265</link>
      <description>&lt;P&gt;I would agree.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;What I finally got to work was to export/import as a STEP, then do a move/copy of the bodies. That was the only way to not only clear the component relationships but also “flatten” all the instances and mirrors. It makes the project a giant mess of bodies (almost 2000), but it works.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Mar 2023 20:47:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11818805#M4265</guid>
      <dc:creator>awilliamwright</dc:creator>
      <dc:date>2023-03-13T20:47:40Z</dc:date>
    </item>
    <item>
      <title>Re: Solution to components drifting when scaling entire project?</title>
      <link>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11819359#M4266</link>
      <description>&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Hi Kondennti-San,&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="#FF6600"&gt;&lt;EM&gt;&lt;STRONG&gt;You are a &lt;FONT color="#000000"&gt;One-Of-The-Kind F360 Scripter&lt;/FONT&gt;. I don't think another one on this &lt;FONT color="#000000"&gt;Planet&lt;/FONT&gt; matches your skill and proficiency.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regarding the hard subject.&lt;BR /&gt;Understanding the difference between &lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;scaling real Design Geometry&lt;/FONT&gt; &lt;/STRONG&gt;&lt;/EM&gt;and &lt;FONT color="#008000"&gt;&lt;EM&gt;&lt;STRONG&gt;scaling Design&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; is essential.&lt;BR /&gt;Apart from the &lt;FONT color="#0000FF"&gt;&lt;EM&gt;&lt;STRONG&gt;visible topology&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; of objects (which can be sent to e.g. &lt;EM&gt;&lt;STRONG&gt;3D&lt;/STRONG&gt;&lt;/EM&gt; printer), the latter contains &lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;intangible elements&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;. Let's call them &lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;designs intents&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;, which are &lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;not easily scalable&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; or not at all.&lt;BR /&gt;The attached file demonstrates some trivial cases.&lt;BR /&gt;It is also worth pointing... &lt;FONT color="#FF00FF"&gt;&lt;EM&gt;&lt;STRONG&gt;to some dangers&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;.&lt;BR /&gt;As &lt;FONT color="#FF00FF"&gt;&lt;EM&gt;&lt;STRONG&gt;designs with scaled elements&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; can be nested in more complex assemblies, their design intents &lt;FONT color="#FF00FF"&gt;&lt;EM&gt;&lt;STRONG&gt;might become unsynchronized&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;. When successively used as references, they &lt;FONT color="#FF6600"&gt;&lt;EM&gt;&lt;STRONG&gt;may lead to excruciating head-scratching&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; by consecutive &lt;EM&gt;&lt;STRONG&gt;drafters&lt;/STRONG&gt;&lt;/EM&gt;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":face_with_head_bandage:"&gt;🤕&lt;/span&gt;.&lt;BR /&gt;... so &lt;FONT color="#33CCCC"&gt;&lt;EM&gt;&lt;STRONG&gt;use scaling sparingly&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt; and certainly ... &lt;FONT color="#FF99CC"&gt;&lt;EM&gt;&lt;STRONG&gt;not frivolously&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DesignScaling_G.png" style="width: 999px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1188315i9C5DC5B9D1E161C5/image-size/large?v=v2&amp;amp;px=999" role="button" title="DesignScaling_G.png" alt="DesignScaling_G.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Regards&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;MichaelT&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;P.S.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;Yes, the CAD system can possess full scalability, … but the more complex it is more difficult it is to achieve such functionality.&lt;/FONT&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;P.S. II&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;I re-edited, replaced term &lt;FONT color="#000000"&gt;"draftsmen"&lt;/FONT&gt; with &lt;FONT color="#000000"&gt;"drafters"&lt;/FONT&gt; as ... Artificial Intelligence warned me ... politely&amp;nbsp;at this stage that:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF99CC"&gt;&lt;EM&gt;&lt;FONT&gt;&lt;STRONG&gt;Some readers may find the term draftsmen non-inclusive. If you don’t mean to specify gender in this context, a different term may be more effective. &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Mar 2023 03:34:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/fusion-api-and-scripts-forum/solution-to-components-drifting-when-scaling-entire-project/m-p/11819359#M4266</guid>
      <dc:creator>MichaelT_123</dc:creator>
      <dc:date>2023-03-14T03:34:30Z</dc:date>
    </item>
  </channel>
</rss>

