Coder Social home page Coder Social logo

fusionidea's Introduction

About

This is a plugin for IntelliJ IDEA/PyCharm that facilitates developing Fusion 360 scripts. It supports launching and debugging scripts in Fusion 360, directly from within IDEA/PyCharm.

This plugin now supports both Windows and Mac.

New in v0.6.0 - A Fusion 360 add-in is now required (again) to run/debug scripts. See here for more information.

Installation

The plugin is available for installation via the built-in plugin repository in IDEA. You can search for the "Fusion 360 Scripting" plugin.

Usage

See here for a step-by-step "Getting Started" guide for PyCharm.

IDEA

You enable Fusion 360 support in IDEA by adding the Fusion 360 facet to a module. See, e.g. Open Module Settings -> Facets. Once you add the facet, take a look at its configuration options and ensure the path to the Fusion 360 executable is set correctly.

PyCharm

You enable Fusion 360 support for a project in PyCharm in Settings->Languages & Frameworks->Fusion 360. Enable the "Fusion 360 Support Enabled" checkbox, ensure the path to the Fusion 360 executable is set correctly, and then press "Apply".


Once support has been enabled, you can write a Fusion 360 script as per usual. Once you are ready to run it, you can create a new "Fusion 360 Python Script" run configuration, and then run or debug it as you would expect.

As a convenient shortcut, you can right click on the script in the project browser on the left, or directly in the editor pane and choose "Run in Fusion 360" or "Debug in Fusion 360"

Features

  • Run script in Fusion 360
    • Launches a script in Fusion 360, as if you had run it from the AddIn window.
  • Debug script in Fusion 360
    • Launches a script in fusion 360 and attached a debugger, letting you stop at breakpoints, and all the usual debuggery goodness.
    • Redirects stdout and stderr to the debugging console.
  • Attach to Process
    • Attaches to a Fusion 360 process without running a script. Any breakpoints will be hit if Fusion happens to run the breakpointed code. e.g. if you start the script manually in Fusion 360 itself.
  • Fusion 360 Python SDK
    • Adds a new "Fusion 360 Python SDK" type, to simplify creation of a Python SDK pointing to copy of Python that is bundled with Fusion.
  • Automatically adds a dependency for the Fusion Python APIs to the module, for autocomplete, contextual docs, etc.

fusionidea's People

Contributors

jesusfreke avatar jphalip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fusionidea's Issues

Only working once and without debugger

A similar Problem as described in #8 is occuring when I am using it.
I can only attach to Fusion (get console output) once. Afterwards the Script runs but you don't get any consol output, until I restart Fusion.
Debuging doesn't work at all it just irgnores breakpoints but executes the script.

Plugin: 0.5.7
PyCharm: PyCharm 2019.3.4 (Professional Edition) Build #PY-193.6911.25, built on March 18, 2020
Fusion 360: 2.0.7830

Sidenote: I have Anaconda installed. Tryed it with anaconda interpreter and also tried it with the Fusion one too.
Sidenote2: Debugging with VScode dosn't work for me neither. But I think thats because of VScode being VScode.

Question about relative imports

I was trying to debug following plugin.
It works when simply imported inside Fusion360. But when running from PyCharm, it errors out with

attempted relative import without known parent.

On lines in octoFusionCommand.py or OctoFusion_Old.py containing the following imports:
from .packages import requests,
from ....packages import requests,
from .Fusion360CommandBase import Fusion360CommandBase etc
In the end, I was able to import those modules by removing dots in front of the modules names.

Do you think the issue is related to Python version or FusionIdea plugin? I am trying to figure out how all of this works.

Mac PyCharm

I'm hitting the "Did not receive a debug port for pid" exception. Any tips on how to debug why, please?

Mac support

I am wondering if the answer to Mac support is as simple as removing the ".exe" filter from the input box in settings? Probably not. But thought id try. I couldn't figure out how to get my forked copy of your plugin to run to test. I'd be happy to do so.

In: FusionConfigurable.java, Line 85

Couldn't start ssdp server exception

Hi, I was trying to setup fusion with pycharm. After installing I get the following error while trying to run the script.

"

AddIns/fusion_idea_addin/fusion_idea_addin.py", line 544, in server_bind
raise Exception("Could not start ssdp server")
Exception: Could not start ssdp server

"

Plugin not working 100% with latest version Fusion 360 with python 3.7

After upgrading fusion to the new version with python 3.7, I've noticed a few issues with the plugin. The first -- not being able to attach at all -- was resolved by upgrading IDEA to the latest version (2019.2.3).

However, I just noticed that even with the newer IDEA there's still a bit of an issue. Debugging a script the first time seems to work fine. It will run the script and stop at any breakpoint that is defined. However, after stopping the debugging session and trying to debug the script again, it will launch and run the script successfully, but it won't actually hit any breakpoints.

Access is allowed from write thread only

Hello Team,
I have a problem with plugin in PyCharm. It crashes during PyCharm loading.
Here is exception. Can you take a look?

Access is allowed from write thread only

java.util.concurrent.CompletionException: com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: EventQueue.isDispatchThread()=false
Current thread: Thread[JobScheduler FJ pool 4/11,4,main] 287264834
SystemEventQueueThread: Thread[AWT-EventQueue-0,6,main] 1808411141
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1807)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: EventQueue.isDispatchThread()=false
Current thread: Thread[JobScheduler FJ pool 4/11,4,main] 287264834
SystemEventQueueThread: Thread[AWT-EventQueue-0,6,main] 1808411141
	at com.intellij.openapi.application.impl.ApplicationImpl.throwThreadAccessException(ApplicationImpl.java:1110)
	at com.intellij.openapi.application.impl.ApplicationImpl.assertIsWriteThread(ApplicationImpl.java:1116)
	at com.intellij.openapi.application.impl.ApplicationImpl.startWrite(ApplicationImpl.java:1198)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1021)
	at org.jf.fusionIdea.facet.FusionFacet.updateLibrary(FusionFacet.java:261)
	at org.jf.fusionIdea.facet.FusionFacet.initFacet(FusionFacet.java:281)
	at com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleBridgeImpl.initFacets(ModuleBridgeImpl.kt:100)
	at com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleManagerBridgeImpl.loadModules(ModuleManagerBridgeImpl.kt:119)
	at com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleBridgeLoaderService.loadModules(ModuleBridgeLoaderService.kt:58)
	at com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleBridgeLoaderService.<init>(ModuleBridgeLoaderService.kt:48)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:52)
	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:890)
	at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:51)
	at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:41)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:119)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:73)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:66)
	at com.intellij.serviceContainer.ComponentManagerImpl.preloadService(ComponentManagerImpl.kt:1068)
	at com.intellij.serviceContainer.ComponentManagerImpl$preloadServices$1.invoke(ComponentManagerImpl.kt:1033)
	at com.intellij.serviceContainer.ComponentManagerImpl$preloadServices$1.run(ComponentManagerImpl.kt:55)
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375)
	... 5 more

Additional information: PyCharm 2022.2.4, OS: Win10

Please let me know if I can fix it somehow from my side.
Thanks in advance.

"Unhandled exception while importing and running script"

Fusion throws this error at me when running / debugging:

Unhandled exception while importing and running script.
Traceback (most recent call last):
  File "C:/Users/morit/AppData/Roaming/Autodesk/Autodesk Fusion 360/API/AddIns/fusion_idea_addin/fusion_idea_addin.py", line 331, in notify
    module = importlib.util.module_from_spec(spec)
  File "<frozen importlib._bootstrap>", line 580, in module_from_spec
AttributeError: 'NoneType' object has no attribute 'loader'

Documentation request

I really like the idea of this plug-in, but I can't seem to get it to work.

For example, I can't find "Open Module Settings" anywhere in PyCharm (community or commercial edition) 2018.3.4.

The "Installation" section in the Readme gives instructions for a small add-in, but the next section "Add-in" seems to state that this small add-in is not actually required?

The "Go to File -> Scripts and Add-Ins" instruction also doesn't fit PyCharm, I think. I can install Plugins, but not Add-ins, as far as I can see.

Improving the startup user experience

I understand the need to set up some type of key validation since the debugging session is initiated from outside of Fusion 360. However, it can be just a tiny bit tedious to have to manually copy-paste the key. As a compromise, what do you think about just displaying a message box that says something like "A debugging session with key XYZ was started. Do you want to proceed?". Then the user would just need to click OK. This would be a similar workflow to, say, a bluetooth pairing scenario.

What do you think?

stdout truncated after 1000 bytes

I don't know if this is really an issue with the plugin or a fusion 360 limitation, but it seems that the standard output is truncated to 999 bytes and ... is appended, if the output is larger than 1000 bytes.

import sys
def run(context):
    for i in range(1000):
        sys.stdout.write("o")
    sys.stdout.write("x")

this will end in oooo.... But if you reduce it to 999 bytes, then it will end in oooox. This also happens if the output is split into multiple lines. The total number of bytes in the stdout is limited.

I've tried sys.stdout.flush() at the end, but it did not change the result.

Exception while using plugin

A random exception I noticed while using the plugin

update failed for AnAction(com.intellij.execution.actions.RunContextAction) with ID=RunClass

java.lang.IllegalArgumentException: Argument for @NotNull parameter 'module' of com/intellij/facet/FacetManager.getInstance must not be null
at com.intellij.facet.FacetManager.$$$reportNull$$$0(FacetManager.java)
at com.intellij.facet.FacetManager.getInstance(FacetManager.java)
at org.jf.fusionIdea.facet.FusionFacet.getInstance(FusionFacet.java:70)
at org.jf.fusionIdea.run.FusionRunConfigurationProducer.setupConfigurationFromContext(FusionRunConfigurationProducer.java:80)
at org.jf.fusionIdea.run.FusionRunConfigurationProducer.setupConfigurationFromContext(FusionRunConfigurationProducer.java:55)
at com.intellij.execution.actions.RunConfigurationProducer.createConfigurationFromContext(RunConfigurationProducer.java:76)
at com.intellij.execution.actions.RunConfigurationProducer.findOrCreateConfigurationFromContext(RunConfigurationProducer.java:164)
at com.intellij.execution.actions.PreferredProducerFind.doGetConfigurationsFromContext(PreferredProducerFind.java:129)
at com.intellij.execution.actions.PreferredProducerFind.getConfigurationsFromContext(PreferredProducerFind.java:113)
at com.intellij.execution.actions.PreferredProducerFind.findConfigurationFromContext(PreferredProducerFind.java:154)
at com.intellij.execution.actions.PreferredProducerFind.createConfiguration(PreferredProducerFind.java:48)
at com.intellij.execution.actions.ConfigurationContext.createConfiguration(ConfigurationContext.java:162)
at com.intellij.execution.actions.ConfigurationContext.getConfiguration(ConfigurationContext.java:153)
at com.intellij.execution.actions.BaseRunConfigurationAction.update(BaseRunConfigurationAction.java:191)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:171)
at com.intellij.openapi.actionSystem.impl.Utils.doUpdate(Utils.java:256)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:199)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:225)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:225)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:225)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:225)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:225)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:350)
at com.intellij.openapi.actionSystem.impl.ActionPopupMenuImpl$MyMenu.show(ActionPopupMenuImpl.java:110)
at com.intellij.openapi.editor.impl.EditorImpl.invokePopupIfNeeded(EditorImpl.java:4580)
at com.intellij.openapi.editor.impl.EditorImpl.access$9500(EditorImpl.java:124)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.runMouseReleasedCommand(EditorImpl.java:3666)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.mouseReleased(EditorImpl.java:3572)
at java.awt.Component.processMouseEvent(Component.java:6548)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3325)
at java.awt.Component.processEvent(Component.java:6313)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4903)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4725)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4725)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:781)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:718)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Connection to Python debugger failed, Accept timed out

Hi, I'm having trouble with the connection
Fusion 360, latest version
Fusion 360 Scripting v0.6.6
PyCharm 2023.2.5 (prof) (not supported I know)
PyCharm 2022.2.5(com.) (supported)

interpreter: fusion360, fusion 360 support enabled.
I can start a script, and fusion excepts the public key, but once entered I'm not able to attach to the process and get the following error:
Connection to Python debugger failed, Accept timed out.
And nothing is happening. This is in both versions of Pycharm.
Any Idea's how to fix this?

Breakpoint right after pydevd.settrace call

When I detach the debugger (with the stop button inside pycharm) and then attach it again (with the run/rerun button), Pycharm always brings up the following file PyCharm2022.1\plugins\fusion_idea\lib\pydevd-1.9.0\pydevd_attach_to_process\attach_script.py
and breaks at the line

pydevd.settrace( port=port, host=host, stdoutToServer=True, stderrToServer=True, overwrite_prev_trace=True, suspend=False, trace_only_current_thread=False, patch_multiprocessing=False, )

I though that the problem was related to the line right before it:
if py_db is not None: py_db.dispose_and_kill_all_pydevd_threads(wait=False)

but I checked that dispose_and_kill_all_pydevd_threads is well defined, and changed wait to True.
But Pycharm still breaks right after the pydevd.settrace call

Also, it seems this issue is not a duplicate or related to this one

Mac IPv6 SSDP not working

Related to JesusFreke/fusion_idea_addin#1 perhaps?

When running, I get the following error in the pycharm event log:

java.lang.Throwable: Couldn't send ipv6 ssdp packet on any interface
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:143)
	at org.jf.fusionIdea.run.FusionScriptState$SSDPServer.sendIpv6SSDPRequest(FusionScriptState.java:268)
	at org.jf.fusionIdea.run.FusionScriptState$SSDPServer.lambda$start$0(FusionScriptState.java:283)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:834)

The terminal shows:

Public key hash: F93552CFE1C6A07E748BE736BA257F74A94326CD
Server stopped.
Encountered error while attempting to connect to Fusion.

Pycharm and OS version info:

PyCharm 2020.2 (Professional Edition)
Build #PY-202.6397.98, built on July 28, 2020
Runtime version: 11.0.7+10-b944.20 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.4
GC: ParNew, ConcurrentMarkSweep
Memory: 1979M
Cores: 16
Non-Bundled Plugins: io.protostuff.protostuff-jetbrains-plugin, intellij-micropython, org.jf.fusionIdea

Exception using PyCharm 2020.1 on mac

When trying to add a new run configuration of "Fusion 360 Python Script" in pycharm, I get the following exception:

java.util.MissingResourceException: Can't find bundle for base name com/jetbrains/python/PyBundle, locale en_AU
	at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2055)
	at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1689)
	at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1593)
	at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556)
	at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:857)
	at org.jf.fusionIdea.run.FusionRunConfigurationEditor.$$$setupUI$$$(FusionRunConfigurationEditor.java)
	at org.jf.fusionIdea.run.FusionRunConfigurationEditor.<init>(FusionRunConfigurationEditor.java:75)
	at org.jf.fusionIdea.run.FusionRunConfiguration.getConfigurationEditor(FusionRunConfiguration.java:84)
	at com.intellij.execution.impl.ConfigurationSettingsEditor.<init>(ConfigurationSettingsEditor.java:193)
	at com.intellij.execution.impl.ConfigurationSettingsEditorWrapper.<init>(ConfigurationSettingsEditorWrapper.java:58)
	at com.intellij.execution.impl.TemplateConfigurable.<init>(TemplateConfigurable.java:13)
	at com.intellij.execution.impl.RunConfigurable.showTemplateConfigurable(RunConfigurable.kt:307)
	at com.intellij.execution.impl.RunConfigurable.access$showTemplateConfigurable(RunConfigurable.kt:84)
	at com.intellij.execution.impl.RunConfigurable$initTree$4.valueChanged(RunConfigurable.kt:247)
	at java.desktop/javax.swing.JTree.fireValueChanged(JTree.java:2967)
	at java.desktop/javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3456)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:641)
	at com.intellij.ui.treeStructure.Tree$MySelectionModel.fireValueChanged(Tree.java:623)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1111)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:297)
	at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:191)
	at java.desktop/javax.swing.JTree.setSelectionPath(JTree.java:1656)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2736)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:4016)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressedDND(BasicTreeUI.java:3993)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3952)
	at com.intellij.util.ui.MouseEventAdapter.mousePressed(MouseEventAdapter.java:30)
	at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
	at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
	at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
	at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6648)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
	at com.intellij.ui.treeStructure.Tree.processMouseEvent(Tree.java:394)
	at java.desktop/java.awt.Component.processEvent(Component.java:6416)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4858)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4858)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:974)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:912)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:844)
	at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:728)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1063)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:708)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:437)
	at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1707)
	at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1666)
	at com.intellij.execution.actions.EditRunConfigurationsAction.actionPerformed(EditRunConfigurationsAction.java:28)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:280)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:274)
	at com.intellij.ui.popup.ActionPopupStep.performAction(ActionPopupStep.java:223)
	at com.intellij.ui.popup.ActionPopupStep.performAction(ActionPopupStep.java:213)
	at com.intellij.ui.popup.ActionPopupStep.lambda$onChosen$2(ActionPopupStep.java:207)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
	at com.intellij.ui.popup.AbstractPopup.lambda$dispose$13(AbstractPopup.java:1454)
	at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2319)
	at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:188)
	at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:140)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:171)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:36)
	at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1450)
	at com.intellij.ui.popup.WizardPopup.dispose(WizardPopup.java:152)
	at com.intellij.ui.popup.list.ListPopupImpl.dispose(ListPopupImpl.java:326)
	at com.intellij.ui.popup.PopupFactoryImpl$ActionGroupPopup.dispose(PopupFactoryImpl.java:301)
	at com.intellij.openapi.util.ObjectNode.lambda$execute$0(ObjectNode.java:111)
	at com.intellij.openapi.util.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:184)
	at com.intellij.openapi.util.ObjectNode.execute(ObjectNode.java:71)
	at com.intellij.openapi.util.ObjectTree.executeAll(ObjectTree.java:134)
	at com.intellij.openapi.util.Disposer.dispose(Disposer.java:116)
	at com.intellij.openapi.util.Disposer.dispose(Disposer.java:106)
	at com.intellij.ui.popup.WizardPopup.disposeAllParents(WizardPopup.java:255)
	at com.intellij.ui.popup.list.ListPopupImpl.handleNextStep(ListPopupImpl.java:461)
	at com.intellij.ui.popup.list.ListPopupImpl._handleSelect(ListPopupImpl.java:415)
	at com.intellij.ui.popup.list.ListPopupImpl.handleSelect(ListPopupImpl.java:361)
	at com.intellij.ui.popup.PopupFactoryImpl$ActionGroupPopup.handleSelect(PopupFactoryImpl.java:321)
	at com.intellij.ui.popup.list.ListPopupImpl$MyMouseListener.mouseReleased(ListPopupImpl.java:526)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6651)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
	at com.intellij.ui.popup.list.ListPopupImpl$MyList.processMouseEvent(ListPopupImpl.java:583)
	at java.desktop/java.awt.Component.processEvent(Component.java:6416)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4858)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4858)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:974)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:912)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:844)
	at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:739)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: com.intellij.diagnostic.PluginException: While loading class com/jetbrains/python/PyBundle: IllegalName: com/jetbrains/python/PyBundle [Plugin: Pythonid]
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.java:262)
	at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.java:205)
	at com.intellij.ide.plugins.cl.PluginClassLoader.access$200(PluginClassLoader.java:36)
	at com.intellij.ide.plugins.cl.PluginClassLoader$1.execute(PluginClassLoader.java:176)
	at com.intellij.ide.plugins.cl.PluginClassLoader$1.execute(PluginClassLoader.java:168)
	at com.intellij.ide.plugins.cl.PluginClassLoader.processResourcesInParents(PluginClassLoader.java:153)
	at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.java:209)
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:113)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	at java.base/java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:3170)
	at java.base/java.util.ResourceBundle.loadBundle(ResourceBundle.java:1994)
	at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1776)
	at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1728)
	at java.base/java.util.ResourceBundle.findBundle(ResourceBundle.java:1728)
	at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1662)
	... 144 more
Caused by: java.lang.NoClassDefFoundError: IllegalName: com/jetbrains/python/PyBundle
	at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:889)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1014)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:877)
	at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:380)
	at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:376)
	at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:340)
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.java:259)
	... 158 more

Version info:

PyCharm 2020.1 (Professional Edition)
Build #PY-201.6668.115, built on April 7, 2020
Runtime version: 11.0.6+8-b765.25 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.4
GC: ParNew, ConcurrentMarkSweep
Memory: 1979M
Cores: 16
Non-Bundled Plugins: io.protostuff.protostuff-jetbrains-plugin, intellij-micropython, org.jf.fusionIdea

Issue when Running Script: Does not match target architecture

When running a basic script (BuildBolt copied from the Fusion API samples), I get an error when running the process that it does not match the target architecture. I've attached the error below.
What architecture is expected to connect to the Fusion 360 process?

Traceback (most recent call last):
File "C:\Users\meganh.PyCharmCE2018.3\config\plugins\fusion_idea\scripts\inject.py", line 173, in
main(process_command_line(sys.argv[1:]))
File "C:\Users\meganh.PyCharmCE2018.3\config\plugins\fusion_idea\scripts\inject.py", line 169, in main
show_debug_info=show_debug_info_on_target_process)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.4\helpers\pydev\pydevd_attach_to_process\add_code_to_python_process.py", line 298, in run_python_code_windows
"Current Python 64 bits: %s" % (is_64, is_python_64bit()))
RuntimeError: The architecture of the Python used to connect doesn't match the architecture of the target.
Target 64 bits: True
Current Python 64 bits: False

Process finished with exit code 1

Plugin throws exception when enabling Fusion 360 Support

Thanks a lot for the great Plugin and the hard work. Much appreciated. Let me know if you are accepting donations.

Using:
Pycharm 2018.3.3
OS: Win10
Plugin: v 0.5.4

  1. The plugin throws an exception with the stack trace shown below whenever enabling Fusion 360 Support via the checkbox.

  2. Is there any way to get rid of the Connection to Python debugger failed socket closed event log message after every time a script finishes running?

  3. It looks like the run configuration cannot run scripts which have space characters in the path to the script. For example when running a script named f360_script_test.py located in the C:\Users\username\Google Drive\PyCharm Projects\Fusion360Projects\, due to the presence of space in the name Google Drive in the path of the script, the script fails running with the following output:
    Got unexpected parameter: Drive\Pycharm. May be take in the script location as one contiguous string when running the script will solve this?

The following is the stack trace of the exception thrown:

java.lang.Throwable: Assertion failed: Write access is allowed inside write-action only (see com.intellij.openapi.application.Application.runWriteAction()) at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:174) at com.intellij.openapi.application.impl.ApplicationImpl.assertWriteAccessAllowed(ApplicationImpl.java:1346) at com.intellij.facet.FacetManagerImpl.commit(FacetManagerImpl.java:380) at com.intellij.facet.impl.FacetModelImpl.commit(FacetModelImpl.java:96) at com.intellij.openapi.roots.PlatformModifiableModelsProvider.commitFacetModifiableModel(PlatformModifiableModelsProvider.java:38) at org.jf.fusionIdea.facet.FusionFacet.addFacet(FusionFacet.java:86) at org.jf.fusionIdea.configuration.FusionConfigurable.apply(FusionConfigurable.java:136) at com.intellij.openapi.options.ex.ConfigurableWrapper.apply(ConfigurableWrapper.java:173) at com.intellij.openapi.options.newEditor.ConfigurableEditor.apply(ConfigurableEditor.java:316) at com.intellij.openapi.options.newEditor.SettingsEditor$5.apply(SettingsEditor.java:163) at com.intellij.openapi.options.newEditor.SettingsEditor.apply(SettingsEditor.java:306) at com.intellij.openapi.options.newEditor.SettingsDialog.doOKAction(SettingsDialog.java:156) at com.intellij.openapi.ui.DialogWrapper$OkAction.doAction(DialogWrapper.java:1871) at com.intellij.openapi.ui.DialogWrapper$DialogWrapperAction.actionPerformed(DialogWrapper.java:1831) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at com.chrisrm.idea.ui.MTButtonUI$ButtonHighlighter.mouseReleased(MTButtonUI.java:374) at java.awt.Component.processMouseEvent(Component.java:6548) at javax.swing.JComponent.processMouseEvent(JComponent.java:3325) at java.awt.Component.processEvent(Component.java:6313) at java.awt.Container.processEvent(Container.java:2237) at java.awt.Component.dispatchEventImpl(Component.java:4903) at java.awt.Container.dispatchEventImpl(Container.java:2295) at java.awt.Component.dispatchEvent(Component.java:4725) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467) at java.awt.Container.dispatchEventImpl(Container.java:2281) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4725) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:737) at java.awt.EventQueue$4.run(EventQueue.java:735) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:734) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:719) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:664) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:363) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109) at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) at java.awt.Dialog.show(Dialog.java:1077) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:698) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:430) at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1681) at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1630) at com.intellij.openapi.options.newEditor.SettingsDialog.lambda$show$0(SettingsDialog.java:70) at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88) at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:153) at com.intellij.openapi.options.newEditor.SettingsDialog.show(SettingsDialog.java:70) at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:84) at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:54) at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:41) at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:258) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:275) at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:184) at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:148) at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:410) at java.awt.Component.processEvent(Component.java:6313) at java.awt.Container.processEvent(Container.java:2237) at java.awt.Component.dispatchEventImpl(Component.java:4903) at java.awt.Container.dispatchEventImpl(Container.java:2295) at java.awt.Component.dispatchEvent(Component.java:4725) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467) at java.awt.Container.dispatchEventImpl(Container.java:2281) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4725) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:737) at java.awt.EventQueue$4.run(EventQueue.java:735) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:734) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:719) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:664) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:363) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

PermissionError when executing

Hi, as the title says, when I execute my code from PyCharm, a windows shows in Fusion with the next message after copying the Public key hash:

image

Just to be clear, the message says that I'm using PyCharm 2021.1.1, but I already upgraded it, the directory keeps its old name, though.

Should I reinstall PyCharm? I tried running it and Fusion360 as administrator but nothing happens.

Also, I don't know if it's related, but I have to disable the plugin support (on Languages & Frameworks) before closing the project, because, when I reopen it, an error closes the IDE.

My PyCharm version is 2022.2.3:
image

And Fusion360 was updated last week:
image

Cannot find facet in Intellij

Hi,

I'm trying to set up this plugin in Intellij, however I cannot find the facet in the project's settings. Am I maybe not looking at the right place?

Thanks!

2023-02-12_09-55-40

Starts with wrong interpreter

On Windows in PyCharm when I Run in Fusion 360 it does not start it with the same interpreter that is setup in the settings (Project: <name> -> Project Interpreter). In my case it runs with (the most recent) 3.7 but I want to run it with 3.5.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.