Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception exporting a file to .obj #2611

Open
jimmiedave opened this issue Dec 10, 2024 · 6 comments
Open

Exception exporting a file to .obj #2611

jimmiedave opened this issue Dec 10, 2024 · 6 comments

Comments

@jimmiedave
Copy link
Contributor

---------- Bug report ----------

Please include a description about what actions you were performing when the exception occurred:
(You can edit text directly in this window)

1.Exporting interceptor.ork as interceptor.obj for 3D rendering
2.
3.

If possible, please send us the .ork file that caused the bug.

Include your email address (optional; it helps if we can contact you in case we need additional information):

(Do not modify anything below this line.)
---------- Exception stack trace ----------
java.lang.IllegalArgumentException: At least 3 points are required to create a polygon
at net.sf.openrocket.file.wavefrontobj.export.shapes.PolygonExporter.verifyPoints(PolygonExporter.java:127)
at net.sf.openrocket.file.wavefrontobj.export.shapes.PolygonExporter.addPolygonMesh(PolygonExporter.java:22)
at net.sf.openrocket.file.wavefrontobj.export.components.FinSetExporter.generateMesh(FinSetExporter.java:57)
at net.sf.openrocket.file.wavefrontobj.export.components.FinSetExporter.addToObj(FinSetExporter.java:46)
at net.sf.openrocket.file.wavefrontobj.export.OBJExporterFactory.handleComponent(OBJExporterFactory.java:263)
at net.sf.openrocket.file.wavefrontobj.export.OBJExporterFactory.doExport(OBJExporterFactory.java:158)
at net.sf.openrocket.gui.main.BasicFrame.saveWavefrontOBJFile(BasicFrame.java:1684)
at net.sf.openrocket.gui.main.BasicFrame.saveAsWavefrontOBJ(BasicFrame.java:1671)
at net.sf.openrocket.gui.main.BasicFrame.exportWavefrontOBJAction(BasicFrame.java:1664)
at net.sf.openrocket.gui.main.BasicFrame$8.actionPerformed(BasicFrame.java:452)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129)
at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692)
at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651)
at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:379)
at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:367)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
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)

---------- Thread information ----------
Thread[AWT-EventQueue-0,6,main]

---------- System information ----------
OpenRocket version: 23.09
OpenRocket source: default
OpenRocket location: /Applications/OpenRocket23-09.app/Contents/Resources/app/OpenRocket.jar
User-defined thrust curves location: /Users/theowner/Library/Application Support/OpenRocket/ThrustCurves
LAF: com.apple.laf.AquaLookAndFeel
JOGL version: 2.5.0
Current default locale: en_US
System properties:
apple.laf.useScreenMenuBar=true
com.apple.mrj.application.apple.menu.about.name=OpenRocket
exe4j.moduleName=/Applications/OpenRocket23-09.app
file.encoding=UTF-8
file.separator=/
ftp.nonProxyHosts=local|.local|169.254/16|.169.254/16
http.nonProxyHosts=local|.local|169.254/16|.169.254/16
i4j.jreBundle=/Applications/OpenRocket23-09.app/Contents/Resources/jre.bundle
i4j.ownBundlePath=/Applications/OpenRocket23-09.app
install4j.appDir=/Applications/OpenRocket23-09.app/Contents/Resources/app/
install4j.exeDir=/Applications/
install4j.launcherId=59
install4j.swt=false
java.class.path=/Applications/OpenRocket23-09.app/Contents/Resources/app/.install4j/i4jruntime.jar:/Applications/OpenRocket23-09.app/Contents/Resources/app/OpenRocket.jar
java.class.version=61.0
java.home=/Applications/OpenRocket23-09.app/Contents/Resources/jre.bundle/Contents/Home
java.io.tmpdir=/var/folders/1d/vmvh061d7h1dk0c_qwj966980000gp/T/
java.library.path=/Users/theowner/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
java.runtime.name=OpenJDK Runtime Environment
java.runtime.version=17.0.7+7-LTS
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=17
java.util.Arrays.useLegacyMergeSort=true
java.vendor=BellSoft
java.vendor.url=https://bell-sw.com/
java.vendor.url.bug=https://bell-sw.com/support
java.version=17.0.7
java.version.date=2023-04-18
java.vm.compressedOopsMode=Zero based
java.vm.info=mixed mode
java.vm.name=OpenJDK 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=17
java.vm.vendor=BellSoft
java.vm.version=17.0.7+7-LTS
jdk.debug=release
jnlp.jogamp.tmp.cache.root=jln647836170073881332
line.separator=\u000a
native.encoding=UTF-8
os.arch=aarch64
os.name=Mac OS X
os.version=14.7.1
path.separator=:
socksNonProxyHosts=local|.local|169.254/16|.169.254/16
sun.arch.data.model=64
sun.awt.enableExtraMouseButtons=true
sun.awt.exception.handler=net.sf.openrocket.gui.main.SwingExceptionHandler$AwtHandler
sun.boot.library.path=/Applications/OpenRocket23-09.app/Contents/Resources/jre.bundle/Contents/Home/lib
sun.cpu.endian=little
sun.font.fontmanager=sun.font.CFontManager
sun.io.unicode.encoding=UnicodeBig
sun.java.command=com.install4j.runtime.launcher.MacLauncher
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=UTF-8
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
user.country=US
user.dir=/Applications/OpenRocket23-09.app/Contents/Resources/app
user.home=/Users/theowner
user.language=en
user.name=theowner
user.timezone=America/New_York
---------- Error log ----------
1 0.001 INFO (SwingStartup.java:68) Starting up OpenRocket version 23.09
2 0.002 INFO (SwingStartup.java:77) Checking for graphics head
4 0.093 INFO (SwingStartup.java:88) Moving startup to EDT
5 0.095 INFO (SwingStartup.java:180) Initializing the splash screen
6 0.479 INFO (SwingStartup.java:184) Registering exception handler
7 0.481 INFO (SwingStartup.java:190) Loading databases
8 1.075 INFO (TranslatorProvider.java:49) Using default locale en_US
9 1.081 INFO (TranslatorProvider.java:61) Set up translation for locale en_US, debug.currentFile=messages.properties
10 1.082 INFO (ComponentPresetDatabaseLoader.java:91) Loading component presets from datafiles/components
11 1.082 INFO (MotorDatabaseLoader.java:90) Starting reading serialized motor database
17 1.087 INFO (SwingStartup.java:258) Starting update check
18 1.088 INFO (SwingStartup.java:203) Setting LAF
19 1.181 INFO (SwingStartup.java:226) Opening main application window
20 1.187 INFO (BasicFrame.java:1901) New action initiated
24 1.209 INFO (MotorDatabaseLoader.java:96) Ending reading serialized motor database, motorCount=1900
25 1.210 INFO (MotorDatabaseLoader.java:71) Starting reading user-defined motors
26 1.211 INFO (MotorDatabaseLoader.java:81) Ending reading user-defined motors, motorCount=1900
119 0.000 DEBUG (-) ===== 94 DEBUG lines removed =====
119 1.399 DEBUG (OpenRocketComponentLoader.java:35) ComponentPreset file semroc-legacy.orc contained 874 presets
120 1.400 DEBUG (ComponentPresetDatabaseLoader.java:115) loading from file: semroc.orc
121 1.400 DEBUG (OpenRocketComponentLoader.java:26) Loading presets from file semroc.orc
126 1.440 DEBUG (OpenRocketComponentLoader.java:35) ComponentPreset file semroc.orc contained 1676 presets
127 1.444 DEBUG (ComponentPresetDatabaseLoader.java:115) loading from file: top_flight.orc
128 1.444 DEBUG (OpenRocketComponentLoader.java:26) Loading presets from file top_flight.orc
129 1.446 DEBUG (OpenRocketComponentLoader.java:35) ComponentPreset file top_flight.orc contained 47 presets
130 1.451 DEBUG (ComponentPresetDatabaseLoader.java:57) Time to load presets: 367ms 5309 loaded from 31 files
136 1.520 DEBUG (RocketFigure3d.java:158) Initializing RocketFigure3D OpenGL Canvas
137 1.520 DEBUG (RocketFigure3d.java:160) Setting up GL capabilities...
139 1.523 DEBUG (GitHubAPIUtil.java:76) Update checker response code: 200
140 1.773 DEBUG (GitHubAPIUtil.java:76) Update checker response code: 200
141 1.778 DEBUG (ReleaseInfo.java:43) Invalid release tag format for release: OpenRocket_technical_documentation-v13.05
142 1.778 DEBUG (ReleaseInfo.java:43) Invalid release tag format for release: Development_of_an_Open_Source_model_rocket_simulation-thesis-v20090520
143 1.779 INFO (UpdateInfoRetriever.java:145) Current build is latest version
174 2.508 DEBUG (JarUtil.java:40) Found jar file using codeSource
175 2.508 DEBUG (ExampleDesignFile.java:118) Current jar file is: /Applications/OpenRocket23-09.app/Contents/Resources/app/OpenRocket.jar
183 2.584 DEBUG (BasicFrame.java:320) ... Setting Initial Selection: [Rocket, Sustainer]
184 2.584 DEBUG (BasicFrame.java:324) BasicFrame instantiation complete
185 2.601 DEBUG (SwingStartup.java:311) Welcome dialog ignored
186 2.601 INFO (SwingStartup.java:234) Checking update status
187 2.601 INFO (SwingStartup.java:96) Startup complete
195 8.088 INFO (BasicFrame.java:1309) Starting OpenFileWorker
196 8.089 INFO (SwingWorkerDialog.java:133) Running SwingWorker net.sf.openrocket.gui.util.OpenFileWorker@db1b21e
197 8.092 INFO (OpenRocketLoader.java:44) Loading .ork file
198 8.133 DEBUG (Rocket.java:682) Freezing Rocket
199 8.133 DEBUG (Rocket.java:546) Rocket is in frozen state, adding event ComponentChangeEvent[mass,aero] info freeze list
200 8.133 DEBUG (Rocket.java:708) Thawing rocket, freezeList=[ComponentChangeEvent[mass,aero]]
202 8.147 DEBUG (Rocket.java:682) Freezing Rocket
203 8.147 DEBUG (Rocket.java:546) Rocket is in frozen state, adding event ComponentChangeEvent[mass,aero] info freeze list
204 8.147 DEBUG (Rocket.java:708) Thawing rocket, freezeList=[ComponentChangeEvent[mass,aero]]
208 8.162 DEBUG (Rocket.java:682) Freezing Rocket
209 8.163 DEBUG (Rocket.java:546) Rocket is in frozen state, adding event ComponentChangeEvent[mass,aero] info freeze list
210 8.163 DEBUG (Rocket.java:708) Thawing rocket, freezeList=[ComponentChangeEvent[mass,aero]]
213 8.172 INFO (OpenRocketLoader.java:96) Loading done
214 8.195 INFO (SwingWorkerDialog.java:151) Worker completed before opening dialog
215 8.195 DEBUG (BasicFrame.java:1363) Opening new frame with the document
216 8.195 DEBUG (BasicFrame.java:185) Instantiating new BasicFrame
217 8.195 DEBUG (BasicFrame.java:196) Constructing the BasicFrame UI
233 8.272 DEBUG (RocketFigure3d.java:158) Initializing RocketFigure3D OpenGL Canvas
234 8.272 DEBUG (RocketFigure3d.java:160) Setting up GL capabilities...
237 0.000 VBOSE (-) ===== 84 VBOSE lines removed =====
237 8.272 VBOSE (RocketFigure3d.java:169) GL - setSampleBuffers
238 8.272 VBOSE (RocketFigure3d.java:172) GL - setNumSamples
239 8.272 VBOSE (RocketFigure3d.java:182) GL - Creating GLCanvas
240 8.272 VBOSE (RocketFigure3d.java:186) GL - Registering as GLEventListener on canvas
241 8.272 VBOSE (RocketFigure3d.java:189) GL - Adding canvas to this JPanel
242 8.272 VBOSE (RocketFigure3d.java:192) GL - Setting up mouse listeners
243 8.272 VBOSE (RocketFigure3d.java:195) GL - Rasterizing Carets
244 8.273 VBOSE (DoubleModel.java:953) DoubleModel[constant=0.0] adding listener (total 1): net.sf.openrocket.gui.scalefigure.ScaleScrollPane$1@497f4434
245 8.273 VBOSE (DoubleModel.java:953) DoubleModel[constant=0.0] adding listener (total 2): net.sf.openrocket.gui.scalefigure.ScaleScrollPane$Ruler[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=]
246 8.273 VBOSE (DoubleModel.java:953) DoubleModel[constant=0.0] adding listener (total 3): net.sf.openrocket.gui.scalefigure.ScaleScrollPane$Ruler[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=]
247 8.273 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
248 8.273 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
249 8.274 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
250 8.274 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
251 8.274 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
252 8.274 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
253 8.274 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
254 8.274 VBOSE (Rocket.java:487) Added ComponentChangeListener net.sf.openrocket.util.ComponentChangeAdapter@175abaa0, current number of listeners is 11
255 8.277 VBOSE (Rocket.java:487) Added ComponentChangeListener net.sf.openrocket.util.ComponentChangeAdapter@60643185, current number of listeners is 12
256 8.277 VBOSE (Rocket.java:487) Added ComponentChangeListener net.sf.openrocket.util.ComponentChangeAdapter@25fba6c3, current number of listeners is 13
257 8.278 VBOSE (DoubleModel.java:953) DoubleModel[RocketFigure:Rotation] adding listener (total 1): net.sf.openrocket.gui.components.UnitSelector[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=,verticalAlignment=CENTER,verticalTextPosition=CENTER]
258 8.278 VBOSE (DoubleModel.java:953) DoubleModel[RocketFigure:Rotation] adding listener (total 2): javax.swing.JSlider$ModelListener@295ce80c
259 8.278 VBOSE (DoubleModel.java:953) DoubleModel[RocketFigure:Rotation] adding listener (total 3): com.apple.laf.AquaSliderUI$4@5f67e384
260 8.278 VBOSE (DoubleModel.java:975) DoubleModel[RocketFigure:Rotation] removing listener (total 2): com.apple.laf.AquaSliderUI$4@5f67e384
261 8.278 VBOSE (DoubleModel.java:953) DoubleModel[RocketFigure:Rotation] adding listener (total 3): javax.swing.plaf.basic.BasicSliderUI$Handler@196b7623
262 8.333 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
263 8.333 VBOSE (Rocket.java:487) Added ComponentChangeListener net.sf.openrocket.util.ComponentChangeAdapter@4e8b3ffe, current number of listeners is 14
264 8.333 VBOSE (Rocket.java:487) Added ComponentChangeListener net.sf.openrocket.gui.scalefigure.RocketPanel$4@3c285edc, current number of listeners is 15
265 8.333 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
266 8.337 DEBUG (JarUtil.java:40) Found jar file using codeSource
267 8.337 DEBUG (ExampleDesignFile.java:118) Current jar file is: /Applications/OpenRocket23-09.app/Contents/Resources/app/OpenRocket.jar
268 8.341 VBOSE (Rocket.java:487) Added ComponentChangeListener net.sf.openrocket.gui.main.BasicFrame$1@39a356ab, current number of listeners is 16
269 8.397 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 1.00000 user scale, 5551.18 overall scale
270 8.398 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.199743 user scale, 1108.81 overall scale
271 8.398 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.199743 user scale, 1108.81 overall scale
272 8.399 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.199743 user scale, 1108.81 overall scale
273 8.399 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.199743 user scale, 1108.81 overall scale
274 8.399 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.199743 user scale, 1108.81 overall scale
275 8.399 DEBUG (BasicFrame.java:320) ... Setting Initial Selection: [Rocket, Sustainer]
276 8.399 DEBUG (BasicFrame.java:324) BasicFrame instantiation complete
277 8.413 INFO (BasicFrame.java:1231) Closing window because it is replaceable
278 8.413 DEBUG (BasicFrame.java:1838) Disposing window
279 8.498 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.375982 user scale, 2087.14 overall scale
280 8.498 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.375982 user scale, 2087.14 overall scale
281 8.499 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.375982 user scale, 2087.14 overall scale
282 8.499 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.375982 user scale, 2087.14 overall scale
283 8.502 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.375982 user scale, 2087.14 overall scale
284 8.502 VBOSE (AbstractScaleFigure.java:209) ____ Updating RocketFigure to: 0.375982 user scale, 2087.14 overall scale
285 11.033 VBOSE (RocketFigure3d.java:465) GL - init()
286 11.038 VBOSE (RocketFigure3d.java:495) GL - reshape()
287 11.062 DEBUG (TextureCache.java:119) Loading texture Texture [offset=(0.00000,0.00000,0.00000), center=(0.00000,0.00000,0.00000), scale=(1.00000,1.00000,0.00000), rotation=0.0, image=/datafiles/textures/spiral-wound-alpha.png]
288 11.087 DEBUG (TextureCache.java:119) Loading texture Texture [offset=(0.00000,0.00000,0.00000), center=(0.00000,0.00000,0.00000), scale=(1.00000,1.00000,0.00000), rotation=0.0, image=decals/pod-tube.png]
289 11.106 DEBUG (TextureCache.java:119) Loading texture Texture [offset=(0.00000,0.10000,0.00000), center=(0.00000,0.00000,0.00000), scale=(1.00000,1.00000,0.00000), rotation=0.0, image=decals/pod_tail3.png]
290 11.115 DEBUG (TextureCache.java:119) Loading texture Texture [offset=(0.00000,0.00000,0.00000), center=(0.00000,0.00000,0.00000), scale=(1.00000,1.00000,0.00000), rotation=0.0, image=decals/pod_nose2.png]
291 11.127 DEBUG (RocketFigure3d.java:430) Redrawing Overlay
292 11.164 DEBUG (RocketFigure3d.java:430) Redrawing Overlay
293 21.352 DEBUG (FileHelper.java:144) File name does not contain extension, adding 'obj'
294 21.355 VBOSE (DoubleModel.java:953) DoubleModel[OBJExportOptions:ScalingDouble] adding listener (total 1): javax.swing.JSpinner$ModelListener@2bbb0041
295 21.355 VBOSE (DoubleModel.java:953) DoubleModel[OBJExportOptions:ScalingDouble] adding listener (total 2): net.sf.openrocket.file.wavefrontobj.OBJOptionChooser$10@78e1fc48
296 21.355 VBOSE (DoubleModel.java:953) DoubleModel[OBJExportOptions:ScalingDouble] adding listener (total 3): net.sf.openrocket.file.wavefrontobj.OBJOptionChooser$7@688b0f8d
297 21.358 DEBUG (DoubleModel.java:809) Setting value 1000.0 for DoubleModel[OBJExportOptions:ScalingDouble]
298 25.330 DEBUG (DoubleModel.java:809) Setting value 20.0 for DoubleModel[OBJExportOptions:ScalingDouble]
299 25.330 VBOSE (DoubleModel.java:82) Ignoring call to SpinnerModel setValue for DoubleModel[OBJExportOptions:ScalingDouble] value=20.0, currently firing events
300 44.392 DEBUG (DoubleModel.java:809) Setting value 1000.0 for DoubleModel[OBJExportOptions:ScalingDouble]
301 44.392 VBOSE (DoubleModel.java:82) Ignoring call to SpinnerModel setValue for DoubleModel[OBJExportOptions:ScalingDouble] value=1000.0, currently firing events
302 63.589 DEBUG (DoubleModel.java:809) Setting value 20.0 for DoubleModel[OBJExportOptions:ScalingDouble]
303 63.589 VBOSE (DoubleModel.java:82) Ignoring call to SpinnerModel setValue for DoubleModel[OBJExportOptions:ScalingDouble] value=20.0, currently firing events
304 82.165 ERROR (SwingExceptionHandler.java:48) Handling uncaught exception on thread=Thread[AWT-EventQueue-0,6,main]

java.lang.IllegalArgumentException: At least 3 points are required to create a polygon
at net.sf.openrocket.file.wavefrontobj.export.shapes.PolygonExporter.verifyPoints(PolygonExporter.java:127)
at net.sf.openrocket.file.wavefrontobj.export.shapes.PolygonExporter.addPolygonMesh(PolygonExporter.java:22)
at net.sf.openrocket.file.wavefrontobj.export.components.FinSetExporter.generateMesh(FinSetExporter.java:57)
at net.sf.openrocket.file.wavefrontobj.export.components.FinSetExporter.addToObj(FinSetExporter.java:46)
at net.sf.openrocket.file.wavefrontobj.export.OBJExporterFactory.handleComponent(OBJExporterFactory.java:263)
at net.sf.openrocket.file.wavefrontobj.export.OBJExporterFactory.doExport(OBJExporterFactory.java:158)
at net.sf.openrocket.gui.main.BasicFrame.saveWavefrontOBJFile(BasicFrame.java:1684)
at net.sf.openrocket.gui.main.BasicFrame.saveAsWavefrontOBJ(BasicFrame.java:1671)
at net.sf.openrocket.gui.main.BasicFrame.exportWavefrontOBJAction(BasicFrame.java:1664)
at net.sf.openrocket.gui.main.BasicFrame$8.actionPerformed(BasicFrame.java:452)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129)
at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692)
at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651)
at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:379)
at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:367)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
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)
305 82.166 STDERR (SwingExceptionHandler.java:49) java.lang.IllegalArgumentException: At least 3 points are required to create a polygon
306 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.file.wavefrontobj.export.shapes.PolygonExporter.verifyPoints(PolygonExporter.java:127)
307 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.file.wavefrontobj.export.shapes.PolygonExporter.addPolygonMesh(PolygonExporter.java:22)
308 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.file.wavefrontobj.export.components.FinSetExporter.generateMesh(FinSetExporter.java:57)
309 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.file.wavefrontobj.export.components.FinSetExporter.addToObj(FinSetExporter.java:46)
310 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.file.wavefrontobj.export.OBJExporterFactory.handleComponent(OBJExporterFactory.java:263)
311 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.file.wavefrontobj.export.OBJExporterFactory.doExport(OBJExporterFactory.java:158)
312 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.gui.main.BasicFrame.saveWavefrontOBJFile(BasicFrame.java:1684)
313 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.gui.main.BasicFrame.saveAsWavefrontOBJ(BasicFrame.java:1671)
314 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.gui.main.BasicFrame.exportWavefrontOBJAction(BasicFrame.java:1664)
315 82.166 STDERR (SwingExceptionHandler.java:49) at net.sf.openrocket.gui.main.BasicFrame$8.actionPerformed(BasicFrame.java:452)
316 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
317 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
318 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
319 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
320 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
321 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129)
322 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692)
323 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651)
324 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:379)
325 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:367)
326 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
327 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
328 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
329 82.166 STDERR (SwingExceptionHandler.java:49) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
330 82.166 STDERR (SwingExceptionHandler.java:49) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
331 82.166 STDERR (SwingExceptionHandler.java:49) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
332 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
333 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
334 82.166 STDERR (SwingExceptionHandler.java:49) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
335 82.166 STDERR (SwingExceptionHandler.java:49) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
336 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
337 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
338 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
339 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
340 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
341 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
342 82.166 STDERR (SwingExceptionHandler.java:49) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
343 82.166 INFO (SwingExceptionHandler.java:61) Exception handler running on EDT, showing dialog
344 82.166 INFO (SwingExceptionHandler.java:201) Showing Exception dialog
345 82.226 WARN (DoubleModel.java:1006) DoubleModel[OBJExportOptions:ScalingDouble] being garbage-collected while having listeners [javax.swing.JSpinner$ModelListener@2bbb0041, net.sf.openrocket.file.wavefrontobj.OBJOptionChooser$10@78e1fc48, net.sf.openrocket.file.wavefrontobj.OBJOptionChooser$7@688b0f8d]
346 88.791 USER (SwingExceptionHandler.java:220) User requested sending bug report
347 88.796 DEBUG (JarUtil.java:40) Found jar file using codeSource
---------- End of bug report ----------

@jimmiedave
Copy link
Contributor Author

jimmiedave commented Dec 10, 2024

This was with OR 23.09 (NOT beta).

interceptor.ork.zip

macOS Sonoma 14.7.1, Apple Sliicon M3 Max

@jimmiedave
Copy link
Contributor Author

image

@SiboVG
Copy link
Member

SiboVG commented Dec 10, 2024

The issue is in the frontcomponent in the Top and front flat surfaces, which is just a line (hence the descriptive error message).

image

We should probably just ignore polygons with a smaller number of polygons than 3 and add it as a warning.

@SiboVG
Copy link
Member

SiboVG commented Dec 10, 2024

(confirmed on unstable btw)

@SiboVG
Copy link
Member

SiboVG commented Dec 10, 2024

Actually, disregard my earlier suggestion of ignoring the faulty component and adding a warning message. That's not a clean solution because the front component, being just a line, should never have been exported in the first place. Instead, we should implement proper OBJ export error messages in addition to the existing warning messages.

When implementing this, I would create a custom Exception class for OBJ exporting, then catch that exception somewhere, and add it as an error.

Maybe we can also add a checkbox in the OBJ export error-warning dialog to ignore components with errors.

This would be a better long-term solution, but it means this issue will not be fixed by the 24.12 release.

@jimmiedave
Copy link
Contributor Author

Since the model was @neilweinstock 's work-in-prog, not sure that it would be a problem on his finished model. Was grabbing the closest model file at hand with decals to try something out.

Your discussion points make sense. Probably a rare-enough event that ignoring it for 24.12 inconveniences nobody.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants