pymel.core.windows.modelEditor¶
- modelEditor(*args, **kwargs)¶
Create, edit or query a model editor. Note that some of the flags of this command may have different settings for normal mode and for interactive/playback mode. For example, a modelEditor can be set to use shaded mode normally, but to use wireframe during playback for greater speed. Some flags also support having defaults set so that new model editors will be created with those settings.
- Modifications:
- returns a PyNode object for flags: (query and camera)
Flags:
Long Name / Short Name Argument Types Properties activeComponentsXray / acx bool Turns on or off Xray mode for active components. activeCustomEnvironment / ace unicode Specifies a path to an image file to be used as environment map. It is only enabled when a valid scene render filter is specified. activeCustomGeometry / acg unicode Specifies an identifier for custom geometry to override the geometry to display. It is only enabled when a valid scene render filter is specified. activeCustomLighSet / acl unicode Specifies an identifier for the light set to use with a scene render filter. It is only enabled when a valid scene render filter is specified. activeCustomOverrideGeometry / aog unicode Specifies an identifier for an override on the custom geometry for a scene render filter. activeCustomRenderer / acr unicode Specifies an identifier for custom renderer to use when a valid scene render filter is also specified. activeOnly / ao bool Sets whether only active objects should appear shaded in shaded display. activeShadingGraph / asg unicode Specifies the shading graph to use to override material display. Only enabled when a valid scene render filter is specified. activeView / av bool Sets this model editor to be the active view. Returns true if successful. On query this flag will return whether the view is the active view. addObjects / aob unicode This flag causes the objects contained within the selection connection to be added to the list of objects visible in the view (if viewSelected is true). addSelected / addSelected bool This flag causes the currently active objects to be added to the list of objects visible in the view (if viewSelected is true). addSelectedObjects / aso bool allObjects / alo bool Turn on/off the display of all objects for the view of the model editor. This excludes NURBS, CVs, hulls, grids and manipulators. backfaceCulling / bfc bool Turns on or off backface culling for the whole view. This setting overrides the culling settings of individual objects. All objects draw in the view will be backface culled. When backface culling is turned on, surfaces becomes invisible in areas where the normal is pointing away from the camera. bufferMode / bm unicode Sets the graphic buffer mode. Possible values are singleor double. bumpResolution / brz int, int Set the resolution for bakedbump map textures when using the hardware renderer. The default value is 512, 512 respectively. camera / cam unicode Change or query the name of the camera in model editor. cameraName / cn unicode Set the name of the panel’s camera transform and shape. The shape name is computed by appending the string Shapeto the transform name. This flag may not be queried. cameraSet / cst unicode cameraSetup / cs bool Based on the model editor name passed in will returns a string list containing camera setups. A camera setup can contain one or more cameras which are associated with each other. Camera setups are defined as pairs of consecutive strings in the list. Each pair is comprised of: a string which identifies an active camera, and a string which defines a script to set up a given active camera. As many pairs of strings can be returned as the number of active cameras. If nothing is returned then it is assumed that no set up is required to activate a given camera. cameras / ca bool Turn on/off the display of cameras for the view of the model editor. capture / cpt unicode Perform an one-time capture of the viewport to the named image file on disk. captureSequenceNumber / csn int When a number greater or equal to 0 is specified each subsequent refresh will save an image file to disk if the capture flag has been enabled. The naming of the file is: {root name}.#.{extension} if the name {root name}.{extension} is used for the capture flag argument. The value of # starts at the number specified to for this argument and increments for each subsequent refresh. Sequence capture can be disabled by specifying a number less than 0 or an empty file name for the capture flag. clipGhosts / cg bool cmEnabled / cme bool Turn on or off applying color management in the editor. If set, the color management configuration set in the current editor is used. colorMap / cm bool Queries the color map style for the model panel. Possible values are colorIndexand rgb. colorResolution / crz int, int Set the resolution for bakedcolor textures when using the hardware renderer. The default value is 256, 256 respectively. control / ctl bool Query only. Returns the top level control for this editor. Usually used for getting a parent to attach popup menus. Caution: It is possible for an editor to exist without a control. The query will return NONEif no control is present. controlVertices / cv bool Turn on/off the display of NURBS CVs for the view of the model editor. cullingOverride / cov unicode Set whether to override the culling attributes on objects when using the hardware renderer. The options are: none: Use the culling object attributes per object.doubleSided: Force all objects to be double sided.singleSided: Force all objects to be single sided.The default value is none. default / d bool Causes this command to modify the default value of this setting. Newly created model editors will inherit the values. This flag may be used with the -interactive to set default interactive settings. defineTemplate / dt unicode Puts the command in a mode where any other flags and args are parsed and added to the command template specified in the argument. They will be used as default arguments in any subsequent invocations of the command when templateName is set as the current template. deformers / df bool Turn on/off the display of deformer objects for the view of the model editor. depthOfFieldPreview / dof bool dimensions / dim bool Turn on/off the display of dimension objects for the view of the model editor. displayAppearance / da unicode Sets the display appearance of the model panel. Possible values are wireframe, points, boundingBox, smoothShaded, flatShaded. This flag may be used with the -interactive and -default flags. Note that only wireframe, points, and boundingBoxare valid for the interactive mode. displayLights / dl unicode Sets the lighting for shaded mode. Possible values are selected, active, all, default, none. displayTextures / dtx bool Turns on or off display of textures in shaded mode docTag / dtg unicode Attaches a tag to the editor. dynamicConstraints / dc bool Turn on/off the display of dynamicConstraints for the view of the model editor. dynamics / dy bool Turn on/off the display of dynamics objects for the view of the model editor. editorChanged / ec script An optional script callback which is called when the editors options have changed. This is useful in a situation where a scripted panel contains a modelEditor and wants to be notified when the contained editor changes its options. exists / ex bool Returns whether the specified object exists or not. Other flags are ignored. exposure / exp float The exposure value used by the color management of the current editor. filter / f unicode Specifies the name of an itemFilter object to be used with this editor. This filters the information coming onto the main list of the editor. filteredObjectList / fol bool For model editors with filtering on (either using an object filter, or isolate select), this flag returns a string list of the objects which are displayed in this editor. Note that this list does not take into account visibility (based on camera frustum or flags), it purely captures the objects which are considered when rendering the view. fluids / fl bool Turn on/off the display of fluids for the view of the model editor. fogColor / fcl float, float, float, float The color used for hardware fogging. fogDensity / fdn float Determines the density of hardware fogging. fogEnd / fen float The end location of hardware fogging. fogMode / fmd unicode This determines the drop-off mode for fog. The possibilities are: linear: linear drop-offexponent: exponential drop-offexponent2: squared exponential drop-off fogSource / fsc unicode Set the type of fog algorithm to use. If the argument is fragment(default) then fog is computed per pixel. If the argument is coordinatethen if the geometry has specified vertex fog coordinates, and the OpenGL extension for vertex fog is supported by the graphics system, then fog is computed per vertex. fogStart / fst float The start location of hardware fogging. fogging / fg bool Set whether hardware fogging is enabled or not. follicles / fo bool Turn on/off the display of follicles for the view of the model editor. forceMainConnection / fmc unicode Specifies the name of a selectionConnection object that the editor will use as its source of content. The editor will only display items contained in the selectionConnection object. This is a variant of the -mainListConnection flag in that it will force a change even when the connection is locked. This flag is used to reduce the overhead when using the -unlockMainConnection , -mainListConnection, -lockMainConnection flags in immediate succession. gamma / ga float The gamma value used by the color management of the current editor. greasePencils / gp bool grid / gr bool Turn on/off the display of the grid for the view of the model editor. hairSystems / hs bool Turn on/off the display of hairSystems for the view of the model editor. handles / ha bool Turn on/off the display of select handles for the view of the model editor. headsUpDisplay / hud bool Sets whether the model panel will draw any enabled heads up display elements in this window (if true). Currently this requires the HUD elements to be globally enabled. height / h int Return the height of the associated viewport in pixels highlightConnection / hlc unicode Specifies the name of a selectionConnection object that the editor will synchronize with its highlight list. Not all editors have a highlight list. For those that do, it is a secondary selection list. holdOuts / hos bool hulls / hu bool Turn on/off the display of NURBS hulls for the view of the model editor. ignorePanZoom / ipz bool Sets whether the model panel will ignore the 2D pan/zoom value to give an overview of the scene. ikHandles / ikh bool Turn on/off the display of ik handles and end effectors for the view of the model editor. imagePlane / imp bool Turn on/off the display of image plane for the view interactive / i bool Causes this command to modify the interactive refresh settings of the view. In this way it is possible to change the behavior of the model editor during playback for improved performance. interactiveBackFaceCull / ibc bool interactiveDisableShadows / dis bool isFiltered / isFiltered bool Returns true for model editors with filtering applied to their view of the scene. This could either be an explicit object filter, or a display option such as isolate select which filters the objects that are displayed. jointXray / jx bool Turns on or off Xray mode for joints. joints / j bool Turn on/off the display of joints for the view of the model editor. lights / lt bool Turn on/off the display of lights for the view of the model editor. lineWidth / lw float Set width of lines for display locators / lc bool Turn on/off the display of locator objects for the view of the model editor. lockMainConnection / lck bool Locks the current list of objects within the mainConnection, so that only those objects are displayed within the editor. Further changes to the original mainConnection are ignored. lowQualityLighting / lql bool Set whether to use low quality lightingwhen using the hardware renderer. The default value is false. mainListConnection / mlc unicode Specifies the name of a selectionConnection object that the editor will use as its source of content. The editor will only display items contained in the selectionConnection object. manipulators / m bool Turn on/off the display of manipulator objects for the view of the model editor. maxConstantTransparency / mct float Sets the maximum constant transparency. Setting this value remaps constant transparency values from the range [0.0, 1.0] to the range [0.0, maxConstantTransparency]. All transparency values are shifted linearly to the new range, so a fully transparency object (transparency 1.0) would appear with a transparency of maxConstantTransparency in the viewport, allowing highly transparent objects to be made visible. This flag only affects constant (non-textured) transparent objects. maximumNumHardwareLights / mhl bool modelPanel / mp unicode Allows the created model editor to be embedded in the named model panel. Intended for use with custom model editors created via the API (i.e. the flag would be used on the derived MPxModelEditorCommand), though the flag may also be used on the base modelEditor command to restore a default Maya model editor to the panel. Note that the model editor previously owned by the panel is deleted. motionTrails / mt bool Turn on/off the Motion Trail display in the Viewport. nCloths / ncl bool Turn on/off the display of nCloths for the view of the model editor. nParticles / npa bool Turn on/off the display of nParticles for the view of the model editor. nRigids / nr bool Turn on/off the display of nRigids for the view of the model editor. noUndo / nud bool This flag prevents some viewport operations (such as isolate select) from being added to the undo queue. nurbsCurves / nc bool Turn on/off the display of nurbs curves for the view of the model editor. nurbsSurfaces / ns bool Turn on/off the display of nurbs surfaces for the view of the model editor. objectFilter / obf script Set or query the current object filter name. An object filter is required to have already been registered. objectFilterList / ofl script Return a list of names of registered filters. objectFilterListUI / ofu script Return a list of UI names of registered filters. objectFilterShowInHUD / ofs bool Sets whether or not to display the object filter UI name in the heads up display when an object filter is active. This string is concatenated with the camera name. objectFilterUI / obu script Query the current object filter UI name. The object filter is required to have already been registered. occlusionCulling / ocl bool Set whether to enable occlusion culling testing when using the hardware renderer. The default value is false. panel / pnl unicode Specifies the panel for this editor. By default if an editor is created in the create callback of a scripted panel it will belong to that panel. If an editor does not belong to a panel it will be deleted when the window that it is in is deleted. parent / p unicode Specifies the parent layout for this editor. This flag will only have an effect if the editor is currently un-parented. particleInstancers / pi bool pivots / pv bool Turn on/off the display of transform pivots for the view of the model editor. planes / pl bool Turn on/off the display of sketch planes for the view of the model editor. pluginObjects / po unicode, bool Turn on/off the display of plugin objects for the view. It depends on the plugin implementation whether to respect this flag. pluginShapes / ps bool Turn on/off the display of plugin shapes for the view. It depends on the plugin implementation whether to respect this flag. polymeshes / pm bool Turn on/off the display of polygon meshes for the view of the model editor. queryPluginObjects / qpo unicode Query the on/off state of plugin objects display for the view. To set the on/off state, use -pluginObjects instead. removeSelected / rs bool This flag causes the currently active objects to be removed from the list of objects visible in the view (if viewSelected is true). rendererDeviceName / rdn bool Query for the name of the draw API used by the Viewport 2.0 renderer for a 3d modeling viewport. The possible return values are VirtualDeviceGLif Maya is set to use OpenGL for Viewport 2.0 or VirtualDeviceDx11if Maya is set to use DirectX for Viewport 2.0. If the renderer for the 3d modeling viewport is not Viewport 2.0, an empty string will be returned. rendererList / rls bool Query for a list of the internal names for renderers available for use with the 3d modeling viewport. The default list contains at least base_OpenGL_Renderer, and hwRender_OpenGL_Renderer, if supported. See rendererName for more details on these renderers. Any plugin viewport renderers will also appear in this list. rendererListUI / rlu bool Query for a list of the UI names for renderers available for use with the 3d modeling viewport. The default list consists of the UI name for base_OpenGL_Renderer, and the UI name for hwRender_OpenGL_Renderer, if it is supported. Any plugin viewport renderer’s UI names will also appear in this list. This list and the list returned from rendererList have a 1:1 correspondance. rendererName / rnm unicode Set or get the renderer used for a 3d modeling viewport. The name provided should an internal name of a renderer. The ‘rendererList’ flag can be used to query for a list of available names. The default renderers available are : base_OpenGL_Renderer: The default OpenGL based renderer, and hwRender_OpenGL_Renderer: The high quality hardware renderer. The default renderer is base_OpenGL_Renderer. The high quality renderer is only supported on certain hardware configurations. See the hardware qualification charts for more details. rendererOverrideList / rol bool Query for a list of the internal names for renderer overrides for a 3d viewport renderer. Currently only the Viewport 2renderer supports renderer overrides. rendererOverrideListUI / rou bool Query for a list of the UI names for renderer overrides for a 3d viewport renderer. Currently only the Viewport 2renderer supports renderer overrides. rendererOverrideName / rom unicode Set or get the override used for a 3d viewport renderer. The name provided should be the internal name for an override. The ‘rendererOverrideList’ flag can be used to query for a list of available names. Currently only the Viewport 2renderer supports renderer overrides. Setting an empty string will unset any currently active override. resetCustomCamera / rcc bool When specified will reset the camera transform for the active custom camera used for a scene render filter. It is only enabled when a valid scene render filter is specified. sceneRenderFilter / srf unicode Specifies the name of a scene render filter selectionConnection / slc unicode Specifies the name of a selectionConnection object that the editor will synchronize with its own selection list. As the user selects things in this editor, they will be selected in the selectionConnection object. If the object undergoes changes, the editor updates to show the changes. selectionHiliteDisplay / sel bool Sets whether the model panel will draw any selection hiliting on the objects in this window. setSelected / ss bool This flag causes the currently active objects to be the only objects visible in the view (if viewSelected is true). shadingModel / sml int shadows / sdw bool Turn on/off the display of hardware shadows in shaded mode. smallObjectCulling / soc bool smallObjectThreshold / sot float smoothWireframe / swf bool Turns on or off smoothing of wireframe lines and points sortTransparent / st bool This flag turns on/off sorting of transparent objects during shaded mode refresh. Normally, objects are sorted according to their origin in camera space but when this flag is turned off they will be drawn according to their (depth-first traversal) order in the scene graph. This is a global flag that affects all model editors. stateString / sts bool Query only flag. Returns the MEL command that will create an editor to match the current editor state. The returned command string uses the string variable $editorName in place of a specific name. stereoDrawMode / sdm bool strokes / str bool Turn on/off the display of Paint Effects strokes for the view subdivSurfaces / sds bool Turn on/off the display of subdivision surfaces for the view of the model editor. textureAnisotropic / ta bool Set whether to perform anisotropic texture filtering. Will work only if the anisotropic texture filtering extension is supported in OpenGL on the graphics system. textureCompression / tcp bool textureDisplay / td unicode Set the type of blending to use for textures. The blend is performed between the destination fragment and the texture fragment. The source is usually the material color. Argument options are: modulate: multiply the destination and texture fragment decal: overwrite the destination with the texture fragment textureEnvironmentMap / tem bool textureHilight / th bool Set whether to show specular hilighting when the display is in shaded textured mode. textureMaxSize / tms int Set maximum texture size for hardware texturing. The integer value must be a power of 2. Recommended values are 128 or 256. If the value specified is larger than the OpenGL maximim textures size for the graphics hardware it will be clamped to the OpenGL size. If many large textures are used in a scene reducing this value improves performance. On Impact texture memory is pinned in RAM so using large textures can cause reliability and performance problems. Again reducing this value will help. Software rendering does not use this value. This flag is obsolete as of Maya 6.5. The maxTextureResolution/mtr argument on the displayPref command should be used instead. textureMemoryUsed / tmu bool Returns the total number of bytes used by all texture maps. This is typicly width*height*channels for all texture objects in the scene If the texture is mip mapped all mip map levels are included in the total though not never more than two level will be in use at one time textureSampling / ts int Set the type of sampling to be used for texture display. The argument can be either: 1 : means to perform point sample2 : means to perform bilinear interpolation (default) textures / tx bool Turn on/off the display of texture objects for the view toggleExposure / tge bool Toggles between the current and the default exposure value of the editor. toggleGamma / tgg bool Toggles between the current and the default gamma value of the editor. transpInShadows / tis bool Set whether to enable display of transparency in shadows when using the hardware renderer. The default value is false. transparencyAlgorithm / tal unicode Set the transparency algorithm. The options are: 1) frontAndBackCull: Two pass front and back culling technique.2) perPolygonSort: Draw transparent polygons in back-to-front order technique.transparency pptions 1) and 2) are supported by the hardware renderer. Options 1) is supported by the interactive modeling viewports. The default value is frontAndBackCull. twoSidedLighting / tsl bool Turns on or off two sided lighting. This may be used with the -default flag. unParent / up bool Specifies that the editor should be removed from its layout. This cannot be used in query mode. unlockMainConnection / ulk bool Unlocks the mainConnection, effectively restoring the original mainConnection (if it is still available), and dynamic updates. updateColorMode / ucm bool Using this flag tells the model panel to check which color mode it should be in, and to switch accordingly. This flag may be used to update a model panel after a camera image plane has been added or removed. updateMainConnection / upd bool Causes a locked mainConnection to be updated from the orginal mainConnection, but preserves the lock state. useBaseRenderer / ubr bool Set whether to use the baserenderer when using the hardware renderer and in interactive display mode(-useInteractiveMode) The default value is false. useColorIndex / uci bool Sets whether the model panel will attempt to use color index mode when possible. Color index mode can provide a performance increase for point, bounding box, and wireframe display modes. This may be used with the -default flag. useDefaultMaterial / udm bool Sets whether the model panel will draw all the shaded surfaces using the default material as opposed to using the material(s) currently assigned to the surfaces. useInteractiveMode / ui bool Turns on or off the use of the special interaction settings during playback. This flag may be used with the -default flag. useRGBImagePlane / ip bool Sets whether the model panel will be forced into RGB mode when there is an image plane attached to the panel’s camera. useReducedRenderer / urr bool useTemplate / ut unicode Forces the command to use a command template other than the current one. userNode / un unicode Allows the user to associate a node name with the modelEditor. The value is automatically updated in the event the node is deleted or renamed. viewObjects / vo bool Returns the name (if any) of the objectSet which contains the list of objects visible in the view if viewSelected is true and the list of objects being displayed does notcome from the active list. viewSelected / vs bool This flag turns on/off viewing of selected objects. When the flag is set to true, the currently active objects are captured and used as the list of objects to view. viewTransformName / vtn unicode Sets the view pipeline to be applied if color management is enabled in the current editor. viewType / vt bool Returns a string indicating the type of the model editor. For the default model editor, returns the empty string. For custom model editor types created via the API, returns the same string as is returned via the method MPx3dModelView::viewType(). width / w int Return the width of the associated viewport in pixels. wireframeBackingStore / wbs bool Sets whether a backing store is used to optimization the drawing of active objects. This mode can provide a performance increase in wireframe mode for certain scenes. wireframeOnShaded / wos bool Sets whether the model panel will draw the wireframe on all shaded objects (if true) or only for active objects (if false). xray / xr bool Turns on or off Xray mode. This may be used with the -default flag. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.modelEditor
Example:
import pymel.core as pm # Create a window with a model editor and some buttons that # change the editor's display of objects in the scene. # window = pm.window('window') form = pm.formLayout() editor = pm.modelEditor() column = pm.columnLayout('true') # Create some buttons that will alter the display appearance of # objects in the model editor, eg. wireframe vs. shaded mode. # pm.button(label='Wireframe', command= "pm.modelEditor(editor, edit=True, displayAppearance='wireframe')") # Result: ui.Button('window|formLayout59|true|button57') # pm.button(label='Points', command= "pm.modelEditor(editor, edit=True, displayAppearance='points')") # Result: ui.Button('window|formLayout59|true|button58') # pm.button(label='Bounding Box', command= "pm.modelEditor(editor, edit=True, displayAppearance='boundingBox')") # Result: ui.Button('window|formLayout59|true|button59') # pm.button(label='Smooth Shaded', command= "pm.modelEditor(editor, edit=True, displayAppearance='smoothShaded')") # Result: ui.Button('window|formLayout59|true|button60') # pm.button(label='Flat Shaded', command= "pm.modelEditor(editor, edit=True, displayAppearance='flatShaded')") # Result: ui.Button('window|formLayout59|true|button61') # # Set up the window layout attachments. # pm.formLayout( form, edit=True, attachForm=[(column, 'top', 0), (column, 'left', 0), (editor, 'top', 0), (editor, 'bottom', 0), (editor, 'right', 0)], attachNone=[(column, 'bottom'), (column, 'right')], attachControl=(editor, 'left', 0, column)) # Result: ui.FormLayout('window|formLayout59') # # Create a camera for the editor. This particular camera will # have a close up perspective view of the centre of the ground plane. # camera= pm.camera(centerOfInterest=2.450351, position = (1.535314, 1.135712, 1.535314), rotation = (-27.612504, 45, 0), worldUp = (-0.1290301, 0.3488592, -0.1290301)) # Attach the camera to the model editor. # pm.modelEditor( editor, edit=True, camera=camera[0] ) # Put an object in the scene. # pm.cone() pm.showWindow( window ) # The following two examples assume a custom model editor command # defined via the MPxModelEditorCommand API class, named 'myEditor'. # # Create a custom editor, and use it as the model editor of Maya's # default modelPanel4 (the perspective view). # pm.myEditor( modelPanel='modelPanel4' ) # Restore the default model editor. # pm.modelEditor( modelPanel='modelPanel4' ) # # The following example shows usage of the render override flags # with model panel 'modelPanel4' # pm.modelEditor( 'modelPanel4', q=True, rol=True ) # Query for non-UI names for any render overrides pm.modelEditor( 'modelPanel4', q=True, rou=True ) # Query for UI names for any render overrides pm.modelEditor( 'modelPanel4', q=True, rom=True ) # Query for any active override pm.modelEditor( 'modelPanel4', e=True, rom='myOverride' ) # Set active override to 'myOverride' if it exists pm.modelEditor( 'modelPanel4', e=True, rom='' ) # Clear out the active override pm.modelEditor( 'modelPanel4', e=True, rnm='base_OpenGL_Renderer' ) # Set the renderer used for a 3d modeling viewport pm.modelEditor( 'modelPanel4', q=True, rnm=True ) # Query for the renderer used for a 3d modeling viewport pm.modelEditor( 'modelPanel4', q=True, rdn=True ) # Query for device name for current renderer.