GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ADN-DevTech/3dsMax-Python-HowTos: 3ds Max python samples

BranchesTags
Open more actions menu

Latest commit

 

History

103 Commits
103 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
doc
doc
 
 
scripts
scripts
 
 
src
src
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.pylintrc
.pylintrc
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
install.sh
install.sh
 
 
installhowtos.sh
installhowtos.sh
 
 
installstartup.sh
installstartup.sh
 
 
uninstall.sh
uninstall.sh
 
 
uninstallhowtos.sh
uninstallhowtos.sh
 
 

Repository files navigation

3ds Max Python How Tos

Practical Python 3 Development Examples For 3ds Max

Splash

This repo contains various Python programming examples and tutorials targeting 3ds Max.

All the examples in the tutorials are implemented as pip packages. This is a bit heavy for small things (we provide a setup.py, a LICENSE and everything) but makes things installable and shareable more easily. As soon as something has dependencies on external packages or requires more than one Python file, pip packages become very convenient. Because we think it is a good practice to package 3ds Max Python tools with pip, we provide all our examples in this form.

Installation

It is not necessary to install the HowTos: the repo can simply be used as a passive directory of samples and documentation for Python developers.

  • Installing the HowTos will add menu items to 3ds Max, and is documented here
  • After an update from github it is necessary to rerun install scripts to get everything working as expected

Python How Tos

New content

  • New with 3dsMax 2025: Plugin Packages in 2025 and Integration With the New Menu System

Samples

The samples below are translations of MAXScript How Tos that can be found in the 3ds Max online documentation.

The conversion from MaxScript to Python could have been more mechanical but we chose to implement the Python version in the best Python way known to us. An example of this is that we use PySide (Qt) for the UI as much as possible instead of using more traditional 3ds Max ui mechanisms.

How To?

  • Develop a Transform Lock Script transformlock
  • Remove all materials removeallmaterials
  • Quickly rename selected objects renameselected
  • Output Object Data to File speedsheet
  • Create a quick video preview quickpreview
  • Access the Z-Depth Channel zdepthchannel

Python Examples that don't come from maxscript howtos

  • Update a progressbar from a Python thread threadprogressbar
  • Create a single instance modal dialog singleinstancedlg
  • Add menu items to open documentation pages in the web browser inbrowserhelp
  • Integrate a Python Console pyconsole
  • Run code on thre main thread mxthread
  • Automatically convert maxscript to python mxs2py
  • Use socketio from 3dsMax socketioclient
  • Drop maxscript code on a rich text window to get a python translation mxstranslate

Python Samples

Python samples can be found in src/samples. These samples may already be in your 3ds Max installation directories.

3dsMax startup entry point

pystartup provides the maxscript code that, when copied to 3ds Max's startup directory, will automatically launch pip packages with the 3dsMax startup entry point.

Tools

The following packages are not really examples but Python tools.

  • menuhook is not meant to be an example (but is still interesting as such!) but as a way of attaching Python functions to 3ds Max menu items. The menuhook package is used by most of the other samples.

  • realoadmod is small tool that will reload all development modules in one operation

  • mxvscode is a small tool that will automatically import debugpy (the VSCode debugging interface) during the startup of 3ds Max and make it accept remote connections. This may slow down the startup of 3ds Max quite a bit and is meant as a developer-only tool.

Extra Goodies

  • install.sh will install pip, install pystartup and pip install all the samples
  • uninstall.sh will uninstall what was installed with install.sh
  • installstartup.sh will install pip and pystartup and nothing more
  • installhowtos.sh will install only the howtos (works in a virtual env)
  • checks.sh runs pylint on the code, validates that 3ds Max is named properly, validates that code blocks in markdown always specify the programming language, checks that all links are valid in all markdown files of the repo
  • create.sh will generate an empty pip package in the current working directory.

About

3ds Max python samples

Topics

3ds3dsmaxhowtomaxscriptpymxspythonpython3sample

Resources

Readme
MIT license
Activity
Custom properties

Stars

290 stars

Watchers

23 watching

Forks

52 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.