├── Python ├── MaxConnector │ ├── maxconnect │ │ ├── __init__.py │ │ ├── pycharm.py │ │ └── tomax.py │ ├── runner.py │ └── checkMaxConnection.py ├── assets │ ├── mnmesh.png │ ├── trimesh.png │ ├── pyCharm_01.png │ ├── pyCharm_02.png │ ├── pyCharm_01b.png │ └── explode_geometry.ui ├── README.md ├── explode_geometry_classic.py └── explode_geometry.py ├── Bundle2 ├── Contents │ ├── help │ │ ├── win64.png │ │ ├── Explode-Geometry2.png │ │ ├── Explode-Geometry2.psd │ │ ├── Resources │ │ │ ├── original_786f007d-a5fa-4af3-9ae9-d4340bb87bbd_Explode-Geomet.png │ │ │ └── resized_88de2886-31d9-4a4b-9139-dd56d378754f_Explode-Geometr.png │ │ ├── ReadMe.txt │ │ └── index.html │ ├── ADN-ExplodeGeometry.ico │ ├── Icon │ │ └── ADN-ExplodeGeometry.ico │ ├── ManagedAssemblies │ │ ├── 2020 │ │ │ └── ADNExplodeGeometry.dll │ │ ├── 2024 │ │ │ └── ADNExplodeGeometry.dll │ │ ├── 2025 │ │ │ └── ADNExplodeGeometry.dll │ │ └── 2026 │ │ │ └── ADNExplodeGeometry.dll │ ├── macroscripts │ │ └── ADNExplodeGeometry.mcr │ └── Post-Start-Up_Scripts │ │ ├── ADNGeometryExplodeSetupMenu.ms │ │ └── ADNGeometryExplodeSetupMenu2025.ms └── PackageContents.xml ├── LICENSE ├── Source ├── XAML │ ├── NumericEntryControl.xaml │ ├── ExplodeGeomUserControl1.xaml │ ├── NumericEntryControl.xaml.cs │ └── ExplodeGeomUserControl1.xaml.cs ├── ADNExplodeGeometry.csproj ├── ADNExplodeGeometry.cs └── ADNUtilities.cs ├── .gitignore └── README.md /Python/MaxConnector/maxconnect/__init__.py: -------------------------------------------------------------------------------- 1 | from maxconnect import pycharm -------------------------------------------------------------------------------- /Python/assets/mnmesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Python/assets/mnmesh.png -------------------------------------------------------------------------------- /Python/assets/trimesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Python/assets/trimesh.png -------------------------------------------------------------------------------- /Python/assets/pyCharm_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Python/assets/pyCharm_01.png -------------------------------------------------------------------------------- /Python/assets/pyCharm_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Python/assets/pyCharm_02.png -------------------------------------------------------------------------------- /Bundle2/Contents/help/win64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/help/win64.png -------------------------------------------------------------------------------- /Python/assets/pyCharm_01b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Python/assets/pyCharm_01b.png -------------------------------------------------------------------------------- /Bundle2/Contents/ADN-ExplodeGeometry.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/ADN-ExplodeGeometry.ico -------------------------------------------------------------------------------- /Bundle2/Contents/help/Explode-Geometry2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/help/Explode-Geometry2.png -------------------------------------------------------------------------------- /Bundle2/Contents/help/Explode-Geometry2.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/help/Explode-Geometry2.psd -------------------------------------------------------------------------------- /Bundle2/Contents/Icon/ADN-ExplodeGeometry.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/Icon/ADN-ExplodeGeometry.ico -------------------------------------------------------------------------------- /Bundle2/Contents/ManagedAssemblies/2020/ADNExplodeGeometry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/ManagedAssemblies/2020/ADNExplodeGeometry.dll -------------------------------------------------------------------------------- /Bundle2/Contents/ManagedAssemblies/2024/ADNExplodeGeometry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/ManagedAssemblies/2024/ADNExplodeGeometry.dll -------------------------------------------------------------------------------- /Bundle2/Contents/ManagedAssemblies/2025/ADNExplodeGeometry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/ManagedAssemblies/2025/ADNExplodeGeometry.dll -------------------------------------------------------------------------------- /Bundle2/Contents/ManagedAssemblies/2026/ADNExplodeGeometry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/ManagedAssemblies/2026/ADNExplodeGeometry.dll -------------------------------------------------------------------------------- /Bundle2/Contents/help/Resources/original_786f007d-a5fa-4af3-9ae9-d4340bb87bbd_Explode-Geomet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/help/Resources/original_786f007d-a5fa-4af3-9ae9-d4340bb87bbd_Explode-Geomet.png -------------------------------------------------------------------------------- /Bundle2/Contents/help/Resources/resized_88de2886-31d9-4a4b-9139-dd56d378754f_Explode-Geometr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ADN-DevTech/3dsMax-Explode-Geometry/HEAD/Bundle2/Contents/help/Resources/resized_88de2886-31d9-4a4b-9139-dd56d378754f_Explode-Geometr.png -------------------------------------------------------------------------------- /Python/MaxConnector/maxconnect/pycharm.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Based from Sublime3dsmax : http://cbuelter.de/?p=535 3 | Removed unecessary Sublime portions of the script 4 | ''' 5 | import os 6 | 7 | import tomax 8 | 9 | MAX_NOT_FOUND = r"Could not find a 3ds Max instance." 10 | RECORDER_NOT_FOUND = r"Could not find MAXScript Macro Recorder" 11 | 12 | def run(cmd): 13 | if not tomax.connectToMax(): # Always connect first 14 | print (MAX_NOT_FOUND) 15 | return 16 | if tomax.gMiniMacroRecorder: 17 | tomax.fireCommand(cmd) 18 | tomax.gMiniMacroRecorder = None # Reset for next reconnect 19 | else: 20 | print(RECORDER_NOT_FOUND) -------------------------------------------------------------------------------- /Python/MaxConnector/runner.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | from optparse import OptionParser 4 | 5 | packagesdir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'packages') 6 | sys.path.append(packagesdir) 7 | 8 | import maxconnect 9 | 10 | parser = OptionParser() 11 | parser.add_option('-f', dest='filename', help='Maxscript FILENAME') 12 | 13 | (options, args) = parser.parse_args() 14 | 15 | if __name__ == '__main__': 16 | if options.filename: 17 | filename, extension = os.path.splitext(options.filename) 18 | if extension == '.py': 19 | cmd = r'python.ExecuteFile @"%s";' % options.filename 20 | elif extension == '.ms' or extension == '.mcr': 21 | cmd = r'fileIn @"%s";' % options.filename 22 | else: 23 | cmd = r'print "Invalid filetype";' 24 | maxconnect.pycharm.run(cmd) -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Autodesk Developer Network 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Bundle2/Contents/macroscripts/ADNExplodeGeometry.mcr: -------------------------------------------------------------------------------- 1 | macroScript ADNExplodeGeomMS category:"ADN Samples" tooltip:"Explode Selected Geometry" buttonText:"Explode Selected Geometry" 2 | ( 3 | -- Again a limitation in maxscript... Cannot get the actionitem from the managed assembly easily 4 | -- but using the IDs will allow this macroscript to execute it 5 | 6 | -- Execute the ADN Explode Geometry plugin; from a managed CuiCommandAdaptor implemented plugin, 7 | -- you can grab the unqiue ID from the MAXScript listener window. 8 | actionMan.executeAction 36784 "14536" 9 | 10 | -- NOTE 11 | -- Doc Link: https://help.autodesk.com/view/MAXDEV/2023/ENU/?guid=GUID-38CB8317-6EB2-49D1-A086-B06BA2A141AE 12 | -- The `executrAction` function expects two parameters, namely: 13 | -- 1. `Action Table ID` Action Table ID assigned to specific action table. Systemwide action tables have 14 | -- non-changing IDs and we can also create our own action tables bearing our own IDs. 15 | -- If you want to check all available ActionIDs, use the script in the doc link below 16 | -- https://help.autodesk.com/view/MAXDEV/2025/ENU/?guid=GUID-D33B4031-2AB2-4A84-BA96-6BA96DD5A042 17 | -- 2. `Persistent ID` Generated by hashing the CuiCommandAdapter's `InternalActionText` hence should be uniform 18 | -- across installs and build as long as the `InternalActionText` is unchanged. 19 | ) -------------------------------------------------------------------------------- /Source/XAML/NumericEntryControl.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 |