What's new in Ayam 1.23
Jan 15, 2016
- Bug Fixes:
- DXF export of polymeshes misses transformation attributes (SF 508)
- OBJ export of Box objects is broken (SF 509)
- Tcl error when loading the objiplugin (SF 510)
- extraction of complete boundary curve from rational surface (SF 511)
- Tcl error when expanding/collapsing all tree nodes via context menu (SF 512)
- Tcl error when removing property without selection (SF 513)
- knot refinement/removal of rational curves/surfaces changes shape (SF 514)
- edit points action loses the selected point (SF 515)
- auto-generated texture coordinates are wrong (SF 516)
- grids are not drawing in upright views (SF 517)
- IPatch objects with manual derivatives are wrong (SF 518)
- custom bevel curves are not found when level is hidden (SF 521)
- creating polymeshes from scripts fails when -cn is used (SF 522)
- creating subdivison meshes from scripts fails when -cn is used (SF 523)
- Modelling:
- Revolve objects now support parameter curves that touch or cross the y-axis in B-Spline mode
- added preference option "Modelling/PickCycle" that controls wether further clicks should cycle through the candidates when picking objects
- added "Primitives" option tNURBS tesselation that allows teither keep the quads generated by GLU or synthesize new quads
- added tesselation mode "AdaptiveKnotDistance" that is easier thandle than AdaptiveDomainDistance and delivers more consistent tesselations
- improved the subdivision compatibility of tesselated NURBS surfaces
- improved shading of various solid primitives for CSG preview using AyCSG
- added PV tag support tPolyMesh optimization
- added a tool that connects twPolyMesh objects via a common boundary (trealize watertight NURBS tesselation)
- added interactive action tselect all points of a boundary of a PolyMesh by picking a point on that boundary, started via new shortcut
- default shortcut for "Set Mark tBoundaryBox Center" is now
- added tool tmake NURBS surfaces compatible
- added tool tcheck the compatibility of NURBS surfaces
- added option tcompatibility checking/making for NURBS surfaces tonly adapt orders/lengths
- IPatch objects with automatic derivatives nlonger present those as editable points when e.g. the "select all points" action is used
- improved accuracy of point picking in perspective views
- RoundToCap bevels on planar boundaries now preserve planarity and shape created by rational coordinates
- GUI:
- moved some search options ta new section "Advanced Options" that will be shown on request/click only
- added "InvertMatch" search option
- improved default slider ranges of tesselation GUI
- the tesselation GUI now avoids unnecessary re-tesselations (that e.g. occurred when the mouse pointer entered the slider widget)
- refined the tesselation default parameters
- tesselation parameters for different tesselation modes are now saved separately in the tesselation GUI
- Plugins:
- improved conversion of open PolyMesh objects tSDNPatch objects
- Scripts/Scripting Interface:
- added "-level" option t"isCompNC" command
- added "isCompNP command tcheck NURBS surfaces for compatibility
- added "registerTag" command timprove tag type management for scripts
- added example/helper script "cvview.tcl" that displays control vertices in a property GUI
- added example/helper scripts "tweenc.tcl"/"tweencgui.tcl" that allow ttween incompatible curves using a Script object
- added command "remsnPo" tremove the smooth normals from a PolyMesh
- added command "flipPo" tflip normals and/or loops of a PolyMesh
- added command "setTag" tset/add a single tag
- Import/Export:
- added "RationalStyle" option tWavefront OBJ import/export
- added "RationalStyle" option tX3D import/export
- added "RationalStyle" option t3DMF import/export
New in Ayam 1.22 (Jan 15, 2016)
- Bug Fixes:
- silhouettes are missing when draw selection only is active (SF 499)
- moving objects in the hierarchy by keyboard does not notify/redraw (SF 500)
- save selected misses the first of the selected objects (SF 501)
- rotation attributes swapped after normalization (SF 502)
- crash when automatic instancing compares tags (SF 503)
- automatic instancing creates instances of light sources (SF 504)
- conversion of patchmesh objects with height > 4 (SF 505)
- orientation of hole bevels in extrusion objects (SF 506)
- loading of multiple files from a different directory via command line arguments (SF 507)
- Modelling:
- added option tdisplay rational points in homogeneous style (new preference option "Modelling/RationalPoints")
- NURBS tesselation using STESS is much faster now; in addition, constant re-tesselation when using interactive modelling actions is avoided by caching twvariants of the tesselation
- allow negative values for "ToleranceA" that result in a relative scaling of the sampling tolerance
- improved bevel and cap integration
- custom knots of concatenated curves/surfaces (ConcatNC/ConcatNP objects) now preserve the relative knot ranges of the parameter objects
- creating trim rectangles now works with NPatch providing objects
- GUI:
- the Shaders preference setting now supports path globbing
- the about dialog now only displays the available OpenGL/GLU extensions on request/click for a cleaner initial layout
- improved selection handling after paste (pasted objects are now selected)
- improved startup error reporting on Win32
- selection of last object upon "empty" click intthe tree widget can now be turned off via hidden preference setting "SelectLast"
- improved focus management of object tree/list and internal view windows
- tool dialogs now use the standard UI elements from property GUIs, element types are inferred from the default/current values, the old style UIs can alsbe enabled via the hidden preference setting "SimpleToolGUI"
- improved balloon timing on main labels
- add simple search variant (on types, names, and materials) tobject search facility
- improved visibility of direction arrows
- Scripts/Scripting Interface:
- added commands ttween NURBS curves and surfaces ("tweenNC" and "tweenNP")
- improved error reporting of "forAll" procedure
- added script "dtree.tcl" that speeds up working with many objects
- Import/Export:
- X3D import of extrusion nodes improved
- improved attributes of object instances imported from RIB files
- added handling of RiOrientation (handedness) tRIB import
- added progress report and cancel functionality tRIB import
- improved import of spot lights in RIB import
New in Ayam 1.21 (Feb 9, 2015)
- BUG FIXES:
- "Reset Transformation" does not clear the Quaternion display (SF 3514199)
- crash when removing wrong trim curves from patches (SF 3514206)
- some ConcatNP fillet patches are missing (SF 3514939)
- pick candidates dialog disappears after resize (SF 3522093)
- file dialogs freeze Ayam on Aqua when called from other dialog (SF 3527583)
- getProperty/setProperty when listbox is active (SF 3559398)
- deleting the copy of a material de-registers original material (SF 3568001)
- shaders searchpath RiOption is not set in exported RIBs (SF 3568003)
- clamping a periodic curve does not reset the curve type (SF 3579550)
- crash when computing the curvature of a linear curve (SF 3588209)
- read only points of quadrics after thetamax changes (SF 3601813)
- X3D export of fieldOfView viewpoint attribute (SF 3604133)
- X3D export of PolyMesh normals (SF 3604132)
- X3D element misses mandatory profile specification (SF 3604137)
- X3D export of tool objects caps and bevels (SF 3604907)
- getPnt/setPnt for IPatch (SF 488)
- elevating periodic NURBS surfaces with knot type Chordal or
- Centripetal (SF 490)
- crash when tesselating complex hierarchies with instances (SF 492)
- new views dnot inherit the global mark (SF 493)
- crash when reading PatchMesh objects with custom basis (SF 494)
- crash when importing RIB with RiIlluminate (SF 495)
- ConcatNC fails tcreate custom knots (SF 496)
- curve type after knot refinement (SF 497)
- export of Mirror objects (SF 498)
- MODELLING:
- added "Compatible" option tConcatNP objects, tprevent unwanted
- modifications by clamping for already compatible parameter surfaces
- Cap and Bevel options are now controlled via own property GUIs
- added cap types "Simple" and "Simple3D" that both create a simple
- surface that runs towards the center point of the surface
- added bevel option "Integrate" tcombine the bevel with the surface
- tbe beveled
- added cap option "Integrate" tcombine the cap with the surface
- tbe capped (or the respective bevel, if there is one in between)
- Caps and Bevels are now available for many more object types,
- e.g. IPatch, NPatch, ConcatNP, Birail1, Birail2, Skin...
- added 3D bevel mode controlled via normals and tangents e.g. extracted
- from a surface by an ExtrNC object
- added bevel mode that rounds tthe cap alsusing tangent information
- added bevel mode that rounds tthe normal alsusing tangent information
- Bevel orientations are now consistent (independent from curve winding)
- Bevels from simple closed or periodic curves are now guaranteed tbe
- closed or periodic also
- added C1 fillets based on global interpolation with end derivatives to
- the ConcatNC object (C1 mode is activated by setting the FTLength parameter
- t0.0)
- negative ConcatNC FTLength parameters values are now interpreted in absolute
- coordinates
- improved offset curves of closed curves in section mode
- Skin objects nlonger modify (e.g. clamp) the parameter curves when
- the curves are already compatible
- creating Sweep and Swing objects now automatically rotates parameter curves
- defined in the XY plane (the default) tthe appropriate plane
- new objects will now be created at the mark, if the new preference
- option "CreateAtMark" is enabled (default: yes) and if the objects
- are not potential parent objects
- the mark may now be set by double-clicking with the right mouse button
- if the mark is set by clicking inta view, the respective z coordinate of
- the mark is nlonger set tzer(when the preference option "GlobalMark"
- is activated); this allows tset a 3D mark using twclicks in twviews
- the mark can now be set directly ontpicked points of objects
- improved face normal generation for PolyMesh and SDMesh objects through
- application of the Newell normal calculation algorithm
- caching the face normals for PolyMesh and SDMesh objects leads tmuch
- faster redraw of these objects
- added smooth normal generation for PolyMesh objects
- added view action tzoom out tthe whole scene, the action is bound
- tthe backspace-key
- improved the "zoom tobject" view action tproperly adjust the clipping
- planes, light positions, and the camera position for perspective views,
- therefore, modelling with very small or very large objects gets a bit easier
- improved clone placement on open trajectory curves (the trajectory is
- now completely filled)
- added unclamping facility for NURBS curves and surfaces
- added curve extension (ta point) modelling tool
- NURBS curve/surface type detection is now faster and more robust
- skinning curves that touch at their endpoints with custom knots now works
- many NURBS curve/surface tools nlonger unconditionally set the
- respective knot type t"Custom" but rather infer a proper new type
- improved picking of points for very large or very small objects
- improved closing of surfaces
- added a second set of drawing/display parameters that is in effect
- when interactive modelling or view actions are active
- added support for Trim objects tview type Trim
- improved robustness of Gordon caps
- added modelling action treset the weight of selected control points;
- the shortcut tstart this action is , the shortcut for the action
- treset all weights at once is now
- deleting objects is now more robust for complex hierarchies with
- master and instance objects
- creating Instance objects now silently creates instances of the original
- master when an Instance is selected (instead of raising an error)
- the refine curve tool now alssupports ICurve and ACurve objects
- patch meshes now alsmaintain an "IsRat" attribute
- patch meshes now alssupport the "Power" basis type
- patch meshes now always convert ta single NURBS patch (are therefore
- easier tpost process using Script or Trim objects) and the conversion
- now alssupports arbitrary basis types
- added object flashing facility tthe object picking (activated
- via new preference option "FlashObjects")
- added support for ACurve objects and NCurve providing objects tGordon
- objects WatchCorners feature
- added "ScaleMode" option tTrim object controlling how tscale the
- trim tthe parametric space of the NURBS surface
- improved transformation attribute support of Script objects
- improved notification and conversion of Script objects that create
- Instances or objects with materials
- improved STESS tesselation of trimmed NURBS in terms of robustness,
- tesselation speed, drawing speed, and memory requirements
- improved STESS shading of trimmed NURBS
- improved display of trimmed NURBS using GLU by introduction of the
- hidden preference setting "AvoidPwlCurve" (enabled by default)
- refining the knots of periodic curves now inserts knots intall knot
- sections (not maintaining the periodic ends, but this can still be
- achieved by using the new refineknNC command option "-m")
- scaling trim curves tnew knot ranges now alsworks with object
- types different from NCurve (e.g. ICurve and ACurve)
- added tesselation GUI option and TP tag parameter "RefineTrims" that
- controls how many times the trim curves are tbe refined prior to
- tesselation for improved tesselation fidelity along trim edges
- added specialized polygon based tesselator for planar trimmed patches
- tSTESS tesselation
- added "ConvertTags" preference option that controls which tags are to
- be copied during conversion and provide
- concatenating NURBS surfaces via ConcatNP objects now supports trim curves
- offset surfaces (OffsetNP) and normal extraction (in the ExtrNC object)
- now support degenerate surfaces
- rotate and scale about interactive modelling actions now round the
- resulting transformation attributes or modified points ta specified
- number of digits tavoid displaying unreadable numbers in the respective
- property GUI or building up larger rounding errors in longer sequences of
- modelling operations
- GUI:
- the default value menu buttons of property GUI elements now display a
- triangle instead of the text label "Def"
- revamped design of parameter property GUI user interface element
- (triangles are now used for the value manipulation buttons instead of
- the text labels "/2" and "*2" respectively)
- added internal resize widget tscript text editor of Script object
- improved dialog box appearance on X11
- the "CloneAttr" property now alsdisplays the quaternion in abbreviated
- fashion
- the shaders preference setting GUI element now allows tdirectly
- choose directories
- the Tags property GUI now issues a proper notification when applied
- there is now a dialog for the management of property GUIs via NP/RP tags
- (new main menu entries: "Special/Tags/Add Property" and "Remove Property")
- objects can now be moved easily in the current level using the new
- keyboard shortcuts /
- added keyboard shortcuts tswitch all views tpoint/object modelling
- ( and respectively)
- when loading scenes, material objects are now automatically renamed when
- the initial attempt tregister the material fails (this happens when
- the material is already present in the scene under this name)
- removed the highlight material feature
- added a search facility that allows tsearch for objects given criteria
- like e.g. names, types, materials, property values;
- the found objects can just be highlighted in the object tree, or arbitrary
- commands can be executed on them
- in property GUIs and dialogs, now opens the default value
- option menu of the current element
- the help keyboard binding () now alsworks in all property GUI
- and dialog entry fields and other user interface elements
- added mnemonic handling tinternal view menus and grid menu
- walking up in the object hierarchy via the object listbox now selects
- the proper object (the former parent)
- the UI of the tesselation tool has been improved (the "SaveToTag" option
- is now a major "Save" button)
- now toggles the hide attribute (instead of just setting it)
- the standard console prompt now alsdisplays the name of the modelling
- action that can be repeated (via menu "Tools/Repeat", )
- improved drawing quality of antialiased NURBS
- added preference option "SaveDialogGeom" that controls saving the geometry
- of various dialog windows
- removed preference option "SavePrefsGeom" in favor of "SaveDialogGeom" above
- added hidden preference option "PanDist" that controls the amount of
- view window panning for keyboard presses
- "Special/Instances/Resolve all Instances" now resolves even nested instances
- added a "Scope" option tthe automatic instancing and resolve instances
- dialogs
- improved rendering GUI geometry management
- rendering GUIs can now alsparse the progress from the stderr channel
- improved closing of the rendering GUI, it is more robust now
- the numeric point edit dialog now has a context menu that allows to
- clear or reset all entries, as well as tfetch the mark coordinates
- added keyboard shortcuts trecursively open/close whole sub-trees (/)
- added drawing mode "HiddenWire" (with silhouettes)
- menu browsing now manages the action state of all views tallow faster
- redraws
- added hidden options tayamrc that control whether the standard file
- dialog (on Unix) shows hidden files ("FDShowHidden" and "FDShowHiddenBtn")
- added a patched version of the standard Tk file dialog that now has an
- additional keyboard shortcut () tchange tthe parent directory
- improved drawing of the parametric domain in views of type "Trim"
- improved visibility of the mark by using double-width lines and deriving
- the mark size from the handle size
- improved visibility of the curve/surface direction annotation likewise
- added a "Reset All!" command entry tthe tesselation dialog
- improved initial and default parameters of the tesselation dialog
- improved focus management of the Alt-Rotate view action on Win32 sthat
- e.g. the mouse wheel keeps working after usage of the Alt key all the time
- zooming of view windows with the mouse wheel is nlonger clogging the
- undsystem
- simple clicks intthe view window nlonger generate unnecessary entries
- in the undbuffer for view actions
- the UndoLevels preference setting now uses more natural values for
- "off" (0) and "one state tundo" (1)
- added keyboard shortcuts tcycle/modify the grid size (/)
- added some tool object creating tools tCreate menu
- SCRIPTS/SCRIPTING INTERFACE:
- added luainterp plugin tsupport the Lua scripting language
- the "applyTrafo" command now applies the transformations tall points by
- default and is more robust wrt. non-editable points and objects without points
- the "estlenNC" command now supports an optional parameter "-trafo" that
- controls whether the transformation attributes should be applied tthe curve
- the "apnt.tcl" script now alsbinds tthe select all/npoints shortcuts
- tenable/disable the point modelling mode
- "getProperty"/"setProperty" nlonger need a correctly updated current level
- in the Tcl GUI context (object listbox or tree)
- "getProperty"/"setProperty" now alswork with multiple selected objects
- added script "rc.tcl" that swaps cursor key bindings in parallel views
- the "getSel" command nlonger unconditionally writes tglobal variables
- added command "clearClip" tclear the clipboard
- added option "-add" t"copOb" and "cutOb" commands tallow collecting
- objects in the clipboard
- the "aytest.tcl" script now allows more fine grained test selection per GUI
- Material objects can nlonger be renamed via "nameOb" (as this command
- does not update the material registry)
- the "makeCompNC" command nlonger unconditionally clamps the parameter
- curves (unless the new option "-force" is given)
- added command "isCompNC" tcheck curves for compatibility
- added command "hasTag" tquickly check for the existence of a tag
- renamed "splitNP" command t"breakNP" tavoid confusion with the real
- surface splitting commands "splituNP" and "splitvNP"
- the "breakNP" command options now need a "-" and the command now supports
- "-a" for "apply transformations"
- added options t"buildNP" that allow tcontrol order, knot type, and
- surface type
- added support for another PV tag data type ('d'), that stores RGBA
- colors and is expanded properly tCs _and_ Os upon RIB export
- added commands tgenerate face and smooth PolyMesh normals:
- "genfnPo" and "gensnPo"
- the "getPnt" command now supports NURBS evaluation for objects that provide
- NURBS curves/surfaces
- added example Script object script "tcone.tcl" that creates truncated cones
- improved the notification mechanism for Script object scripts
- added "-check" option t"convOb" allowing ttest beforehand whether a
- conversion ta given type would be successful
- improved options of "forAll" procedure, they are now more easy to
- recognize
- "forAll" can now alsrecurse after the command has been called
- removed "forAllT" procedure, use "forAll" with "-type" option instead
- the "tonpatch.tcl" and "topoly.tcl" scripts now work with more object
- types (e.g. Script, Mirror)
- scripts now have access tthe mark through the global array "aymark"
- added script "myicons.tcl" that allows the user tload an own set of
- icons intthe application
- added "crtTrimRect" command, now supporting multiple selected NPatch
- objects and always linking the rectangle as first object
- "crtNRect" now always creates centered rectangles of given width/height
- "crtClosedBS" command options are now more legible
- "estlenNC" now works for multiple selected objects
- "extrNP" command now supports NPatch providing objects
- added support for trim boundary extraction tExtrNC object
- added a stripped down version of "notifyOb" tthe safe interpreter
- added support for true booleans and Tcl wide ints tjsinterp (JavaScript)
- data conversion
- improved jsinterp error reporting
- "aac" and "aapnt" scripts now appear and convey their keyboard shortcut in
- the Custom menu
- added "getTag" command tget a specific tag
- added "-get" subcommand t"selPnts" command
- the "delTags" command now alssupports calling without parameters to
- remove all tags
- added helper script "ssp.tcl" that introduces saving of the point selection
- ta tag
- IMPORT/EXPORT:
- X3D export now has a special mode tinject the exported X3D scene
- inta XHTML template file (new export option "WriteX3dom")
- X3D export of NURBS surfaces and PolyMesh objects now support the export
- of a wireframe (via new export control tag "AsWire")
- X3D export of PolyMesh objects with face normals
- X3D export now creates simple material nodes
- (new export option "WriteMaterials")
- X3D export of NURBS curves of order 2 now creates Polyline primitives
- X3D import of viewpoints now creates correct camera attributes
- X3D import now supports "StaticGroup" nodes
- improved temporary and archive RIB file names for direct rendering with Gelato
- added progress parsing template for Gelato
- Rhin3DM export of PolyMesh objects now supports face normals and colors
- improved import of closed polylines from DXF
- improved import of patches and patch meshes with arbitrary basis types
- from RIB files
- improved trim curve attribute handling for RIB import
- PLUGINS:
- added plugin "sfcurve" that creates superformula curves
- added plugin "printps" that creates EPS/PDF/SVG files from drawings
- in Ayam view windows
- DOCUMENTATION/EXAMPLE FILES:
- added an overview tthe table of contents
- improved modelling tools and objects chapter structures by inserting
- intermediate tool/object category sections
New in Ayam 1.21 Beta (Jan 29, 2015)
- BUG FIXES:
- "Reset Transformation" does not clear the Quaternion display (SF 3514199)
- crash when removing wrong trim curves from patches (SF 3514206)
- some ConcatNP fillet patches are missing (SF 3514939)
- pick candidates dialog disappears after resize (SF 3522093)
- file dialogs freeze Ayam on Aqua when called from other dialog (SF 3527583)
- getProperty/setProperty when listbox is active (SF 3559398)
- deleting the copy of a material de-registers original material (SF 3568001)
- shaders searchpath RiOption is not set in exported RIBs (SF 3568003)
- clamping a periodic curve does not reset the curve type (SF 3579550)
- crash when computing the curvature of a linear curve (SF 3588209)
- read only points of quadrics after thetamax changes (SF 3601813)
- X3D export of fieldOfView viewpoint attribute (SF 3604133)
- X3D export of PolyMesh normals (SF 3604132)
- X3D element misses mandatory profile specification (SF 3604137)
- X3D export of tool objects caps and bevels (SF 3604907)
- getPnt/setPnt for IPatch (SF 488)
- elevating periodic NURBS surfaces with knot type Chordal or
- Centripetal (SF 490)
- crash when tesselating complex hierarchies with instances (SF 492)
- new views dnot inherit the global mark (SF 493)
- crash when reading PatchMesh objects with custom basis (SF 494)
- crash when importing RIB with RiIlluminate (SF 495)
- ConcatNC fails tcreate custom knots (SF 496)
- curve type after knot refinement (SF 497)
- export of Mirror objects (SF 498)
- MODELLING:
- added "Compatible" option tConcatNP objects, tprevent unwanted
- modifications by clamping for already compatible parameter surfaces
- Cap and Bevel options are now controlled via own property GUIs
- added cap types "Simple" and "Simple3D" that both create a simple
- surface that runs towards the center point of the surface
- added bevel option "Integrate" tcombine the bevel with the surface
- tbe beveled
- added cap option "Integrate" tcombine the cap with the surface
- tbe capped (or the respective bevel, if there is one in between)
- Caps and Bevels are now available for many more object types,
- e.g. IPatch, NPatch, ConcatNP, Birail1, Birail2, Skin...
- added 3D bevel mode controlled via normals and tangents e.g. extracted
- from a surface by an ExtrNC object
- added bevel mode that rounds tthe cap alsusing tangent information
- added bevel mode that rounds tthe normal alsusing tangent information
- Bevel orientations are now consistent (independent from curve winding)
- Bevels from simple closed or periodic curves are now guaranteed tbe
- closed or periodic also
- added C1 fillets based on global interpolation with end derivatives to
- the ConcatNC object (C1 mode is activated by setting the FTLength parameter
- t0.0)
- negative ConcatNC FTLength parameters values are now interpreted in absolute
- coordinates
- improved offset curves of closed curves in section mode
- Skin objects nlonger modify (e.g. clamp) the parameter curves when
- the curves are already compatible
- creating Sweep and Swing objects now automatically rotates parameter curves
- defined in the XY plane (the default) tthe appropriate plane
- new objects will now be created at the mark, if the new preference
- option "CreateAtMark" is enabled (default: yes) and if the objects
- are not potential parent objects
- the mark may now be set by double-clicking with the right mouse button
- if the mark is set by clicking inta view, the respective z coordinate of
- the mark is nlonger set tzer(when the preference option "GlobalMark"
- is activated); this allows tset a 3D mark using twclicks in twviews
- the mark can now be set directly ontpicked points of objects
- improved face normal generation for PolyMesh and SDMesh objects through
- application of the Newell normal calculation algorithm
- caching the face normals for PolyMesh and SDMesh objects leads tmuch
- faster redraw of these objects
- added smooth normal generation for PolyMesh objects
- added view action tzoom out tthe whole scene, the action is bound
- tthe backspace-key
- improved the "zoom tobject" view action tproperly adjust the clipping
- planes, light positions, and the camera position for perspective views,
- therefore, modelling with very small or very large objects gets a bit easier
- improved clone placement on open trajectory curves (the trajectory is
- now completely filled)
- added unclamping facility for NURBS curves and surfaces
- added curve extension (ta point) modelling tool
- NURBS curve/surface type detection is now faster and more robust
- skinning curves that touch at their endpoints with custom knots now works
- many NURBS curve/surface tools nlonger unconditionally set the
- respective knot type t"Custom" but rather infer a proper new type
- improved picking of points for very large or very small objects
- improved closing of surfaces
- added a second set of drawing/display parameters that is in effect
- when interactive modelling or view actions are active
- added support for Trim objects tview type Trim
- improved robustness of Gordon caps
- added modelling action treset the weight of selected control points;
- the shortcut tstart this action is , the shortcut for the action
- treset all weights at once is now
- deleting objects is now more robust for complex hierarchies with
- master and instance objects
- creating Instance objects now silently creates instances of the original
- master when an Instance is selected (instead of raising an error)
- the refine curve tool now alssupports ICurve and ACurve objects
- patch meshes now alsmaintain an "IsRat" attribute
- patch meshes now alssupport the "Power" basis type
- patch meshes now always convert ta single NURBS patch (are therefore
- easier tpost process using Script or Trim objects) and the conversion
- now alssupports arbitrary basis types
- added object flashing facility tthe object picking (activated
- via new preference option "FlashObjects")
- added support for ACurve objects and NCurve providing objects tGordon
- objects WatchCorners feature
- added "ScaleMode" option tTrim object controlling how tscale the
- trim tthe parametric space of the NURBS surface
- improved transformation attribute support of Script objects
- improved notification and conversion of Script objects that create
- Instances or objects with materials
- improved STESS tesselation of trimmed NURBS in terms of robustness,
- tesselation speed, drawing speed, and memory requirements
- improved STESS shading of trimmed NURBS
- improved display of trimmed NURBS using GLU by introduction of the
- hidden preference setting "AvoidPwlCurve" (enabled by default)
- refining the knots of periodic curves now inserts knots intall knot
- sections (not maintaining the periodic ends, but this can still be
- achieved by using the new refineknNC command option "-m")
- scaling trim curves tnew knot ranges now alsworks with object
- types different from NCurve (e.g. ICurve and ACurve)
- added tesselation GUI option and TP tag parameter "RefineTrims" that
- controls how many times the trim curves are tbe refined prior to
- tesselation for improved tesselation fidelity along trim edges
- added specialized polygon based tesselator for planar trimmed patches
- tSTESS tesselation
- added "ConvertTags" preference option that controls which tags are to
- be copied during conversion and provide
- concatenating NURBS surfaces via ConcatNP objects now supports trim curves
- offset surfaces (OffsetNP) and normal extraction (in the ExtrNC object)
- now support degenerate surfaces
- rotate and scale about interactive modelling actions now round the
- resulting transformation attributes or modified points ta specified
- number of digits tavoid displaying unreadable numbers in the respective
- property GUI or building up larger rounding errors in longer sequences of
- modelling operations
- GUI:
- the default value menu buttons of property GUI elements now display a
- triangle instead of the text label "Def"
- revamped design of parameter property GUI user interface element
- (triangles are now used for the value manipulation buttons instead of
- the text labels "/2" and "*2" respectively)
- added internal resize widget tscript text editor of Script object
- improved dialog box appearance on X11
- the "CloneAttr" property now alsdisplays the quaternion in abbreviated
- fashion
- the shaders preference setting GUI element now allows tdirectly
- choose directories
- the Tags property GUI now issues a proper notification when applied
- there is now a dialog for the management of property GUIs via NP/RP tags
- (new main menu entries: "Special/Tags/Add Property" and "Remove Property")
- objects can now be moved easily in the current level using the new
- keyboard shortcuts /
- added keyboard shortcuts tswitch all views tpoint/object modelling
- ( and respectively)
- when loading scenes, material objects are now automatically renamed when
- the initial attempt tregister the material fails (this happens when
- the material is already present in the scene under this name)
- removed the highlight material feature
- added a search facility that allows tsearch for objects given criteria
- like e.g. names, types, materials, property values;
- the found objects can just be highlighted in the object tree, or arbitrary
- commands can be executed on them
- in property GUIs and dialogs, now opens the default value
- option menu of the current element
- the help keyboard binding () now alsworks in all property GUI
- and dialog entry fields and other user interface elements
- added mnemonic handling tinternal view menus and grid menu
- walking up in the object hierarchy via the object listbox now selects
- the proper object (the former parent)
- the UI of the tesselation tool has been improved (the "SaveToTag" option
- is now a major "Save" button)
- now toggles the hide attribute (instead of just setting it)
- the standard console prompt now alsdisplays the name of the modelling
- action that can be repeated (via menu "Tools/Repeat", )
- improved drawing quality of antialiased NURBS
- added preference option "SaveDialogGeom" that controls saving the geometry
- of various dialog windows
- removed preference option "SavePrefsGeom" in favor of "SaveDialogGeom" above
- added hidden preference option "PanDist" that controls the amount of
- view window panning for keyboard presses
- "Special/Instances/Resolve all Instances" now resolves even nested instances
- added a "Scope" option tthe automatic instancing and resolve instances
- dialogs
- improved rendering GUI geometry management
- rendering GUIs can now alsparse the progress from the stderr channel
- improved closing of the rendering GUI, it is more robust now
- the numeric point edit dialog now has a context menu that allows to
- clear or reset all entries, as well as tfetch the mark coordinates
- added keyboard shortcuts trecursively open/close whole sub-trees (/)
- added drawing mode "HiddenWire" (with silhouettes)
- menu browsing now manages the action state of all views tallow faster
- redraws
- added hidden options tayamrc that control whether the standard file
- dialog (on Unix) shows hidden files ("FDShowHidden" and "FDShowHiddenBtn")
- added a patched version of the standard Tk file dialog that now has an
- additional keyboard shortcut () tchange tthe parent directory
- improved drawing of the parametric domain in views of type "Trim"
- improved visibility of the mark by using double-width lines and deriving
- the mark size from the handle size
- improved visibility of the curve/surface direction annotation likewise
- added a "Reset All!" command entry tthe tesselation dialog
- improved initial and default parameters of the tesselation dialog
- improved focus management of the Alt-Rotate view action on Win32 sthat
- e.g. the mouse wheel keeps working after usage of the Alt key all the time
- zooming of view windows with the mouse wheel is nlonger clogging the
- undsystem
- simple clicks intthe view window nlonger generate unnecessary entries
- in the undbuffer for view actions
- the UndoLevels preference setting now uses more natural values for
- "off" (0) and "one state tundo" (1)
- added keyboard shortcuts tcycle/modify the grid size (/)
- added some tool object creating tools tCreate menu
- SCRIPTS/SCRIPTING INTERFACE:
- added luainterp plugin tsupport the Lua scripting language
- the "applyTrafo" command now applies the transformations tall points by
- default and is more robust wrt. non-editable points and objects without points
- the "estlenNC" command now supports an optional parameter "-trafo" that
- controls whether the transformation attributes should be applied tthe curve
- the "apnt.tcl" script now alsbinds tthe select all/npoints shortcuts
- tenable/disable the point modelling mode
- "getProperty"/"setProperty" nlonger need a correctly updated current level
- in the Tcl GUI context (object listbox or tree)
- "getProperty"/"setProperty" now alswork with multiple selected objects
- added script "rc.tcl" that swaps cursor key bindings in parallel views
- the "getSel" command nlonger unconditionally writes tglobal variables
- added command "clearClip" tclear the clipboard
- added option "-add" t"copOb" and "cutOb" commands tallow collecting
- objects in the clipboard
- the "aytest.tcl" script now allows more fine grained test selection per GUI
- Material objects can nlonger be renamed via "nameOb" (as this command
- does not update the material registry)
- the "makeCompNC" command nlonger unconditionally clamps the parameter
- curves (unless the new option "-force" is given)
- added command "isCompNC" tcheck curves for compatibility
- added command "hasTag" tquickly check for the existence of a tag
- renamed "splitNP" command t"breakNP" tavoid confusion with the real
- surface splitting commands "splituNP" and "splitvNP"
- the "breakNP" command options now need a "-" and the command now supports
- "-a" for "apply transformations"
- added options t"buildNP" that allow tcontrol order, knot type, and
- surface type
- added support for another PV tag data type ('d'), that stores RGBA
- colors and is expanded properly tCs _and_ Os upon RIB export
- added commands tgenerate face and smooth PolyMesh normals:
- "genfnPo" and "gensnPo"
- the "getPnt" command now supports NURBS evaluation for objects that provide
- NURBS curves/surfaces
- added example Script object script "tcone.tcl" that creates truncated cones
- improved the notification mechanism for Script object scripts
- added "-check" option t"convOb" allowing ttest beforehand whether a
- conversion ta given type would be successful
- improved options of "forAll" procedure, they are now more easy to
- recognize
- "forAll" can now alsrecurse after the command has been called
- removed "forAllT" procedure, use "forAll" with "-type" option instead
- the "tonpatch.tcl" and "topoly.tcl" scripts now work with more object
- types (e.g. Script, Mirror)
- scripts now have access tthe mark through the global array "aymark"
- added script "myicons.tcl" that allows the user tload an own set of
- icons intthe application
- added "crtTrimRect" command, now supporting multiple selected NPatch
- objects and always linking the rectangle as first object
- "crtNRect" now always creates centered rectangles of given width/height
- "crtClosedBS" command options are now more legible
- "estlenNC" now works for multiple selected objects
- "extrNP" command now supports NPatch providing objects
- added support for trim boundary extraction tExtrNC object
- added a stripped down version of "notifyOb" tthe safe interpreter
- added support for true booleans and Tcl wide ints tjsinterp (JavaScript)
- data conversion
- improved jsinterp error reporting
- "aac" and "aapnt" scripts now appear and convey their keyboard shortcut in
- the Custom menu
- added "getTag" command tget a specific tag
- added "-get" subcommand t"selPnts" command
- the "delTags" command now alssupports calling without parameters to
- remove all tags
- added helper script "ssp.tcl" that introduces saving of the point selection
- ta tag
- IMPORT/EXPORT:
- X3D export now has a special mode tinject the exported X3D scene
- inta XHTML template file (new export option "WriteX3dom")
- X3D export of NURBS surfaces and PolyMesh objects now support the export
- of a wireframe (via new export control tag "AsWire")
- X3D export of PolyMesh objects with face normals
- X3D export now creates simple material nodes
- (new export option "WriteMaterials")
- X3D export of NURBS curves of order 2 now creates Polyline primitives
- X3D import of viewpoints now creates correct camera attributes
- X3D import now supports "StaticGroup" nodes
- improved temporary and archive RIB file names for direct rendering with Gelato
- added progress parsing template for Gelato
- Rhin3DM export of PolyMesh objects now supports face normals and colors
- improved import of closed polylines from DXF
- improved import of patches and patch meshes with arbitrary basis types
- from RIB files
- improved trim curve attribute handling for RIB import
- PLUGINS:
- added plugin "sfcurve" that creates superformula curves
- added plugin "printps" that creates EPS/PDF/SVG files from drawings
- in Ayam view windows
- DOCUMENTATION/EXAMPLE FILES:
- added an overview tthe table of contents
- improved modelling tools and objects chapter structures by inserting
- intermediate tool/object category sections
New in Ayam 1.20 (Mar 29, 2012)
- Bug Fixes:
- the weights of the Cobb NURBS sphere are wrong (SF 3287828)
- Tcl error when applying the ViewAttrib property (SF 3295757)
- property reset does not work after object selection change (SF 3295758)
- last element of dynamic property GUIs not visible (SF 3301967)
- extracting the boundary of patches with differing orders (SF 3312039)
- conversion of quadrics tNURBS (SF 3322311)
- setting the display mode/tolerance of PatchMesh objects (SF 3360488)
- reverting interpolating curves with custom derivatives (SF 3366276)
- merging transformed PolyMeshes with normals (SF 3374188)
- crash in surface knot insertion (SF 3376414)
- views getting the wrong type temporarily (SF 3382382)
- saving of the environment scene file (SF 3410856)
- resize menu entries of external views are deactivated (SF 3414694)
- caps of transformed outlines/holes (SF 3439485)
- view camera changing inadvertently when another view is changed (SF 3442122)
- OffsetNP objects are missing from exported RIB files (SF 3445410)
- Gordon objects with transformed intersection patches (SF 3448526)
- conversion of torii with phimin/phimax not on default fails (SF 3481314)
- conversion of transformed quadrics with non-standard parameters (SF 3484008)
- toXYNC resetting the scale attributes if an error occurs (SF 3485090)
- operations on rational NURBS modify shapes (SF 3496743)
- the application of static and dynamic code checking tools (splint, cppcheck,
- clang, valgrind, mudflap, drmemory) lead tthe discovery and fix of
- numerous smaller bugs (mostly memory leaks in error cases)
- Modelling:
- knot rescaling of NURBS curves/surfaces nlonger requires custom knots
- added support for periodic surfaces tbe created by Birail1
- added object type "IPatch" for interpolating surfaces
- added centripetal parameterization tsurface interpolation
- the surface interpolation (e.g. in Sweep and Skin objects) is more robust,
- (can now cope with degenerate rows/columns in the input data)
- added uniform parameterization tICurve
- improved flashing of editable points for multiple selected objects
- added object type "Mirror" (essentially a Clone in disguise)
- Instance object points are not editable anymore due tcurrently
- unsolvable notification problems
- moving the mouse pointer across the origin when scaling nlonger
- leads tbroken (i.e. very small) scale attributes
- added setting the mark tselected points bounding box center
- (shortcut )
- closed cubic interpolating curves now alsuse the EDLen parameter properly
- improved initial derivatives when switching from automatic tmanual
- derivatives for ICurves
- improved snapping points from half grid coordinates tthe grid by
- introduction of a mouse pointer warping facility (not available on
- MacOSX Aqua)
- OffsetNP objects can now be associated with a material
- added modelling actions tincrease/decrease the multiplicity of
- selected NURBS curve control points, new keyboard shortcuts: /
- added hidden preference option "TagResetTagged" that controls whether
- invoking the tag (select) points action should clear the current point
- selection
- improved curve splitting for curves with multiple knots
- improved focus handling of direct point edit action
- added "UVSelect" option tConcatNP object, this allows tdetermine
- in which direction a single parameter patch should be split before
- the concatenation
- ConcatNP objects now allow curve and curve providing objects tbe
- used as parameter objects, alsin a mix with patches
- added "Order" parameter tConcatNP, that allows tspecify the
- desired U order of the concatenated surface
- added "FillGaps" and "FTLength" parameters tConcatNP that
- control the creation of fillets similiar tConcatNC
- added custom knots tConcatNP sthat the shapes of parameter surfaces
- can now be preserved exactly (similar tConcatNC)
- improved drawing of torii with phimin/phimax not on defaults
- toXYNC can now work with ACurve and ICurve objects and is thus
- renamed ttoXYC (old command name still available but deprecated)
- improved fillet creation of ConcatNC for parameter curve orders
- different from 4
- converted Sphere patches now have the same direction as other quadrics
- tmake it easier tcombine them with ConcatNP
- added tool (and corresponding scripting interface commands "refineuNP"/
- "refinevNP") trefine NURBS surfaces
- improved refinement of periodic curves (they are refined on their
- complete length now)
- added region support trefine curve tool: a region trefine can be
- specified by selected points
- improved handling of custom knots for the insert/delete point actions
- GUI:
- the property GUIs of Birail1, Birail2, Extrude, Gordon, Skin, Sweep,
- and Text objects are now properly saved (the data is not applied) for
- AddBevel/RemoveBevel
- renamed direct point edit action tnumeric point edit
- empty fields are now allowed in the numeric point edit dialog tallow
- "nchange" for the respective coordinate
- the numeric point edit dialog now supports scripts and variable accesses
- in the entry fields
- the ViewAttrib property GUI nlonger unconditionally sets the mark,
- this is now controlled by the new entry "SetMark" instead
- zooming views via the keyboard is now reversible
- the amounts of rotation and zooming per keyboard are now configurable
- via the ayamrc file
- ICurve property GUI now only displays SDLen/EDLen entries when actually
- used and the Derivatives entry is now, as for the IPatch, a menu
- improved tooltip placement and management
- reset layout is more robust now
- dialog window and balloon placement is now more robust wrt. multi
- monitor setups
- removed "RGTrans" GUI preference option, all rendering GUI windows
- are now always transient
- Import/Export:
- RIB export of tool objects now supports PV tags
- Scripts/Scripting Interface:
- added "concatS" scripting command tconcatenate surfaces
- added "interpuNP"/"interpvNP" scripting commands tinterpolate surfaces
- added script "apnt.tcl" tautomatically switch a view (or all views)
- tpoint modelling, after the point selection action was used
- added "remknuNP"/"remknvNP" commands tremove knots from surfaces
- added "-i" option tall knot removal commands tspecify a knot by
- index (not by value)
- renamed "shiftClosedBS" t"shiftC" command, "shiftC" can now also
- shift/cycle normal closed NURBS curves, ICurve, and ACurve objects
- improved range error reporting (now printing the valid range)
- getPnt/setPnt now support writing to/reading from lists of double
- values (without double-string conversion i.e. without loss of precision)
- getPnt/setPnt now allow tget/set all control points of an object
- getPnt nlonger unconditionally writes tglobal variables
- getPnt nlonger requests a variable for w tbe provided in "-eval" mode
- scripts and plugins can now create their own view window keyboard shortcuts
- renamed "forceNot" command tmore recognizable "notifyOb"; for
- compatibility with existing scripts, the old name still works
- added "-parent" option t"notifyOb" command
- Documentation/Example Files:
- historic information (i.e. when did a feature appear) are now presented
- in a less obtrusive way (as footnotes)
- improved layout of index, object trees, and code examples
- Installation:
- there are now Makefile targets tintegrate Ayam with a Unix desktop environment (e.g. Gnome and KDE) via desktop shortcut, menu entry, and file type
New in Ayam 1.19 (Mar 17, 2011)
- Bug Fixes:
- fixed setting the FilterWidth for RIB export (SF 3148250)
- fixed read only points of ExtrNC/ExtrNP/OffsetNC/OffsetNP objects
- appearing in wrong places (SF 3154051, 3154053)
- fixed is_rat attribute of revolve object (SF 3159003)
- fixed revolve for curves that touch the axis of revolution (SF 3159009)
- fixed RIB export of SDMesh objects with tags in Affines simple
- RIB writer (distributed with Ayam, nSF bug item created)
- fixed "Add Bevel" command entries in various tool object property
- GUIs (SF 3164571)
- fixed boundary curve extraction for surfaces with unclamped knot
- vectors (SF 3194851)
- fixed small memory leak in ExtrNC object (in Boundary mode) (SF 3194853)
- fixed provide of script for multiple objects (SF 3210473)
- fixed provide of clone for multiple objects (SF 3210478)
- Modelling:
- added plugin "subdiv" that, with the help of "Subdivide2.0", can be used
- timprove the display of sdmesh objects by real subdivided surfaces
- added options tcontrol subdivision level and drawing tsdmesh objects
- NURBS modelling tools now only delete the selected points from objects
- where the modelling operation succeeded
- added "-createmp" option tthe creation of NCurve/NPatch objects
- offset surfaces now work for closed/periodic surfaces (in all possible
- combinations of open/closed/periodic for U and V)
- aded chordal and centripetal knot types tNURBS patches
- added new curve offset algorithm "Hybrid"
- renamed "Bevel" curve offset algorithm t"Point"
- removed curve offset algorithm "Bevel3D"
- added cross section shape defining parameter curve tBevel object
- (allows tcreate arbitrarily shaped bevels)
- rational coordinates are nlonger stored with the weights pre-multiplied
- internally (homogenous => euclidean)
- GUI:
- main menu "Edit/Material" now works with multiple selected objects
- when creating materials
- added "ErrorLevel" preference setting that controls how many messages
- appear in the Ayam console
- removed the "ErrorLevel" preference setting from all import/export
- parameter dialogs, all plugins use the global preference setting now
- added access tadvanced (command line) arguments tthe creation of
- curve/npatch objects via new create dialog entry field "AddArgs"
- added View attribute "EnableUndo" that allows tdetermine whether view
- actions should be recorded in the undsystem
- parameter dialogs of knot manipulating tools now display the original
- knot vector as reference
- Scripts/Scripting Interface:
- added script ("autorot.tcl") that automatically rotates a view
- the create callback of the SDMesh object now supports much more options
- tcontrol the initially created object
New in Ayam 1.18.2 (Jan 12, 2011)
- Bug Fixes:
- fixed STESS drawing of certain trimmed NURBS (SF 3119442)
- fixed Apply-keyboard shortcut not working in all properties (SF 3119439)
- fixed security hole in addCommand property GUI element (SF 3140745)
- Modelling:
- there is now a second local modelling mode: "level"; here, the view can
- be aligned to the space of the current parent object
- cycling through the modelling modes now automatically realigns and
- redraws the view
- cycling view types of local views now also automatically realigns the view
- when zooming, grid drawing now stops automatically just before the grid
- lines would fill the entire background of the view
- GUI:
- view type and modelling mode are now displayed in the modelling mode
- menu icon as letter in the upper left and lower right corner, respectively
- instances in the clipboard are automatically cleared upon "File/New" now
- (if their respective master object is in the scene, not the clipboard)
- added menu entry to restore the pane layout to a "natural preset"
- ("Special/Reset Layout")
- Scripts/Scripting Interface:
- added script ("aac.tcl") that switches the rotate and scale transformation
- modelling actions to their "about center" variants automatically
- the "polyhedron.js" example script object script property GUI now displays
- notation info items and has a button that creates a random polyhedron
- the "rV" command is now available in the safe interpreter, to allow command
- entries in script object controlled property GUIs to update all views
New in Ayam 1.18.1 (Nov 16, 2010)
- Bug Fixes:
- fixed set mark not setting the correct location (SF 3105801)
- fixed not resetting binding for set mark (SF 3105793)
- fixed not resetting handle drawing (SF 3105791)
- fixed Script objects in JavaScript fail tsave SP params (SF 3105790)
- fixed undof rotate about action (SF 3107141)
- Modelling:
- if a mark is already set in a view, the intermediate set mark action is
- now omitted automatically
- the current directory is now set before scenes are replaced, this allows
- them tload assets (e.g. fonts, background images) from the current
- directory (i.e. with relative path) more easily
- the filename is now reset if scenes load with errors tprotect the
- previously loaded scene file
New in Ayam 1.18 (Nov 3, 2010)
- Bug Fixes:
- fixed direct point editing not setting the mark (SF 2993441)
- fixed continuous complete notification for Script objects (SF 3001239)
- fixed find u action failing for transformed curves (SF 3006822)
- fixed find u action not setting the mark corectly (SF 3006824)
- fixed Revolve caps in B-Spline mode (Sections != 0) (SF 3012391)
- fixed potential crash in NURBS patch clamp V tool (SF 3012393)
- fixed setting the BGImage via view menu (SF 3023248)
- fixed BGImage drawing on Win32 (SF 3023249)
- fixed skins with periodic chordal/centripetal curves (SF 3030062)
- fixed false positives and crashes of instance DnD/C&P (SF 3031448)
- fixed in-place conversion leading tbroken scenes (SF 3032589)
- fixed drag and drop with multiple objects selected by keyboard (SF 3036465)
- fixed current level after tree reset/rebuild (via ) (SF 3044564)
- fixed drawing/shading of sphere objects (SF 3054130)
- Modelling:
- the default zoom view () and direct point edit () keyboard shortcuts are now () and () respectively tmake way for two very important new shortcuts:
- modelling actions like move, scale, or rotate nlonger decide what ttransform (objects or selected points) based on the point selection; now always objects are transformed, until the user switches explicitly tpoints using (while can be used tswitch back tobjects)
- the point transformation state is displayed in the modelling mode icon by a little red dot
- the mark is now reset on double
- direct point editing now uses the point selection instead of an own pointer; thus, it now works with multiple selected objects, and one may apply coordinate values tmultiple (selected) points
- the Revolve tool object now supports arbitrary ThetaMax values in B-Spline mode (Sections != 0)
- added Arc and Radius parameters tcreate closed B-Spline curve tool
- added Radius, TMin, and TMax parameters tNCircle object creation dialog
- added modelling action tsnap the selected points tthe mark (new shortcut )
- added modelling action tsnap the selected objects tthe mark (new shortcut )
- added view action tpan the view tthe mark (new shortcut )
- tavoid clashes, collapse and explode actions have new default keyboard shortcuts: and
- the find u modelling action now works with provided objects, and is more exact
- added find uv modelling action that finds the u and v parameters for a picked point on a NURBS surface; invoke via new view shortcut:
- added preference setting and facility tmanage a global mark, if enabled, all views share a single mark; thus, one can set it in one view and use it in another
- improved order changes for periodic NURBS curves via the property GUI
- added "3DPVN" curve offset mode that offsets a curve along normals supplied via a primitive variable tag
- creating ExtrNC/ExtrNP objects via the main menu now automatically adds a remove property tag ("RP Transformations") tthe created instance child sthat the instance always follows the transformations of the surface the curve/sub-surface is extracted from
- NURBS curve clamping now works with half clamped curves and alswith curves where there are multiple knots in the end region(s)
- NURBS curve clamping can now alsclamp only one end of the curve
- NURBS patch clamping now works with half clamped patches and alswith patches where there are multiple knots in the end region(s)
- NURBS patch clamping can now alsclamp only one end of the patch
- the point insert/delete modelling actions now work with multiple selected objects
- several objects now support read only points, which can be selected and their coordinates inquired (for snapping/aligning or transformation purposes) but they can not be modified; the supporting objects are: Box, Sphere, Cylinder, Disk, Cone, Torus, Hyperboloid, Paraboloid, Extrude, Revolve
- GUI:
- AutoFocus is now available (again) for single window GUI mode; here it manages the focus of internal widgets (views, tree, properties, console)
- Tool dialogs now display a more descriptive window name
- tree drag and drop now keeps the object selection intact and opens the target level
- Scripts/Scripting Interface:
- number conversion errors are now correctly detected and reported in all scripting interface commands
- added "-world" option tsetPnt/getPnt commands (ttransform coordinates from/tworld space)
- renamed "-p" option t"-eval" for getPnt
- getPnt can now work with arbitrary object types (even from plugins) as long as they support single point editing; i.e. it now works with PolyMesh, SDMesh, and SDNPatch objects
- added a JavaScript interpreter plugin
- Script objects can now use arbitrary languages provided by plugins (e.g. JavaScript)
- added a example Script object script (written in JavaScript) that creates a Polyhedron from a Conway notation ("polyhedron.js")
- Documentation/Example Files:
- documentation of modelling actions enhanced with tables containing keyboard shortcuts and icons
New in Ayam 1.15.1 (Dec 5, 2008)
- tool box list can not be configured via ayamrc file
- X3D export of Clone objects
- converted/provided ExtrNP object transformations
- X3D export of rational NURBS patches
- X3D import of rational NURBS curves
- X3D import of swept/swung surfaces
- continuous CSG drawing
- add tags dialog error (tag type not registered)
- creating objects does not always select last object
New in Ayam 1.15 (Nov 13, 2008)
- Bug Fixes:
- aycsg plugin GUI code for internal views (SF 1943164)
- RIB export of Instances in CSG hierarchies (SF 1953633)
- X3D export of trim curves crashes (SF 1945924)
- Esc key binding of About requester (SF 1964809)
- Hide/Show keyboard shortcuts in view windows (SF 1964807)
- reset of property GUIs when opened via keyboard (SF 1988972)
- view mode icons when settings are changed via property GUI (SF 1989149)
- using compressed TIFF image files as view background (SF 1991716)
- Tcl error if first object is selected (SF 2022397)
- omitting the first object in sub-levels (SF 2022398)
- ExtrNP objects missing in exported RIB files (SF 2021241)
- crash when complete notify is enabled (SF 2022393)
- Tcl errors when keyboard shortcuts are used tdisplay unavailable properties (SF 2023854)
- Script objects adding newline characters upon apply (SF 2027027)
- Memory leak in ExtrNP notification (SF 2135504)
- broken complete notification for center points action (SF 2135494)
- menus with images dnot open on certain X11 servers (SF 2144110)
- setting drawing mode icon when mode is changed via menu (SF 2268296)
- GUI:
- added plugin "aydnd.tcl" that enables inter-application drag-and-drop on Win32 and Unix/X11 with the help of tkdnd
- using the "Esc" key (break action) in view windows now alsresets the keyboard focus tthe main window, if the Esc key is held down longer or pressed twice
- pressing twice in the tree view clears the object selection (and property GUI) and switches the current level tthe top level
- improved key bindings for property GUI elements used in dialogs
- improved focus management for property GUI updates
- established keyboard menu traversal
- Modelling:
- added new object type "ACurve" (for approximating curves)
- improved bevels and offset curves (in bevel mode) of open curves
- improved offset curve fidelity (in section mode)
- added parameter "Relative" tExtrNP/ExtrNC objects
- NCircle objects now accept reverse parameters tcreate reverted circles
- added 3D offset mode ("Bevel3D") toffset curve creation
- improved robustness of curve splitting (alsessential for Gordon caps)
- view type cycling (via PageUp/Down) now keeps the camera aim point
- the GLU NURBS tesselation now preserves texture coordinates and vertex colors delivered by PV tags
- ExtrNC objects can now alsextract a middle axis curve
- the creation of ExtrNC, ExtrNP, and OffsetNC objects now automatically creates an instance of the currently selected object first
- Import/Export:
- added support for true instances (via USE/DEF) tX3D export
- improved robustness of Wavefront OBJ import
- Scripts/Scripting Interface:
- added example script "zdialog.tcl" that switches all internal file dialogs tuse zenity (from the Gnome project)
- added example script "kdialog.tcl" that switches all internal file dialogs tuse kdialog (from the KDE project)
- added script "bgconvert.tcl" that allows tuse Ayam as a background 3D file format converter from a UNIX shell
- script objects now support saving of individual sets of parameters
- improved error reporting for Script objects
- add helper command testimate the length of NURBS curves "estlenNC"
- replaced "NS" tag type by "BNS" (before notify) and "ANS" (after notify) tag types
- Platform Support:
- Win32:
- the official build now uses Tcl/Tk in version 8.4.19
- Documentation/Example Files:
- added example scene "multicolcsg.ay" that demonstrates how "Primitive" level objects are tbe used
New in Ayam 1.14 (Apr 5, 2008)
- Bugfix: X3D export of NURBS patches (row/column major order) (SF 1804056)
- Bugfix: X3D export of NURBS patches (trimmed state) (SF 1804054)
- Bugfix: X3D transformations of NurbsSweptSurface child nodes (SF 1813320)
- Bugfix: STESS drawing mode crashing for patches with trim loops (SF 1808296)
- Bugfix: saved ExtrNC objects failing tload (SF 1814644)
- Bugfix: redmissing states with selection changes (SF 1828494)
- Bugfix: sweeps with first section -1,0,0 (SF 1837720)
- Bugfix: direct rendering of scenes with spaces in filename or path (SF 1840995)
- Bugfix: autofocus after preferences window was closed (SF 1846422)
- Bugfix: autofocus after implicit import/export (SF 1847870)
- Bugfix: keyboard shortcut tswitch drawing/shading (SF 1894024)
- Bugfix: RIB export of Clones with and in CSG hierarchies (SF 1925224)
- added option tkeep the current selection when creating new objects, by simply holding down the key
- added hidden preference setting tcontrol the zoom factor of the mouse wheel ("WheelZoom")
- added hidden preference settings tcontrol the polygon offset parameters for the "Shade&Draw" display mode ("PolyOffset0" and "PolyOffset1")
- avoid stealing the focus from the console on application startup
- added "Select All"/"Select None" entries tedit menu (mainly tteach the corresponding keyboard shortcuts)
- all dialogs may now be cancelled with the key
- closing dialogs using the window decoration is now safer wrt. AutoFocus
- improved focus handling of property canvas
- added context sensitive help launcher ( key) tall import and export option windows and the preferences dialog
- added preference option tswitch Ayam ta single toplevel window application; in SingleWindow mode, there are internal views and an internal toolbar, more floating view windows can be created as usual
- added icon based modelling action display tview window menu bar
- added saving of main window state normal/zoomed (maximized) tthe ayamrc file
- the iconification state of view windows is now saved with scene files
- several main preference settings are not displayed in the preferences editor on platforms/in configurations where they would not be used anyway, e.g. TwmCompat on Win32
- added "SavePaneLayout" tag type tstore the pane configuration of the main window in scene files
- added hidden preference setting "PaneMargins" that controls individual safety margins for all panes (lest they obscure other vital parts of the GUI as e.g. the main menu bar)
- the main preference settings "ListTypes", "MarkHidden", "LoadEnv", and "NewLoadsEnv" are now hidden preference settings
- renamed hidden preference settings "PrepDiaCap" t"FixDialogTitles" and "Wpcliptosel" t"WarnPropPasteToSel"
- added hidden preference setting "ShiftTab" that let users define the keysym created by pressing shift and tab
- added hidden preference setting "FixImageButtons" that enables a work-around for "stuck" image buttons in the toolbox
- the operations that can be undone/redone are now alsdisplayed in the corresponding main menu entries
- the about dialog has now a "CopyClipboard" button that makes it more simple tcopy the relevant parts of the Ayam configuration for e.g. bug reports
- added view window keyboard shortcuts tcycle through the view types (PageUp/PageDown)
- added secondary view window keyboard shortcuts for important functions as e.g. "zoom tobject" (mainly for internal views in single window GUI mode)
- reorganized edit, create, and tools menus
- added new object type "Swing" (for rotational sweeps/swung surfaces)
- added new object type "Select" tselect one object from a list of provided objects
- added new object type "ExtrNP" (similar t"ExtrNC", but extracts patches)
- added new object type "OffsetNC" tcreate offset curves
- added NCInfballoon (that displays more infon generated curves, similar tNPInfo)
- added tolerance parameter and checking for remKnNC (knot removal) tool
- made side cap creation of Revolve objects more robust wrt. the cross section curve direction
- added "undrewind" command
- resolving of instances and automatic instances are now selection aware
- import NurbsSwungSurface elements as Swing objects from X3D files
- import of NurbsSurface texture coordinates from X3D files
- added "TopLevelLayers" X3D export option
- added "WriteParametrics" X3D export option (tsave Revolve, Extrude, Sweep, and Swing objects as NurbsSweptSurface or NurbsSwungSurface nodes)
- X3D export may now be cancelled
- DXF export may now be cancelled
- reworked shader parsing (core and ayslx plugin) for incompatible changes in Aqsis 1.2
- added script "intfd.tcl" tswitch all dialogs (file/color) tinternal Tk dialogs
- added script "showwin.tcl" tde-iconify/show all application windows
- added script "tonpatch.tcl" that, similar t"topoly.tcl" converts all objects in the scene tplain NURBS patches
- added helper procedure "toolbox_add" for adding text based buttons to the toolbox window
- added true support for custom objects tthe VC2005 build (custom objects could not use the RIB export facility, due tmissing export symbols from the static Aqsis libraries in earlier versions)
- added official X11 based build
- fixed image buttons for the X11 based build
- all dialog windows are now proper floating windows
- it is nlonger possible twrap the IDR, AyCSG, RRIB, ONIO, or MetaObj plugins intthe Ayam executable
New in Ayam 1.13 (Sep 24, 2007)
- Fix: crash after deleting of objects (SF 1637735)
- Fix: crash after applying ScriptAttr property (SF 1637748)
- Fix: crash using STESS drawing mode for curves (SF 1641883)
- Fix: conversion of NPatch objects misses transformations (SF 1646153)
- Fix: crash after copying/cutting objects using clipboard (SF 1646155)
- Fix: insert scene fails with Tcl error on Mac OS X (SF 1648924)
- Fix: script objects with saved data arrays fail to load params (SF 1650836)
- Fix: no redraw in modelling view for LazyNotify (SF 1650838)
- Fix: crtspiralgui example script fails to load parameters (SF 1651366)
- Fix: wrong start cap of Sweeps with bevels (SF 1652653)
- Fix: wrong caps of extrusions with transformed parameter curves (SF 1652655)
- Fix: reversed ModelMode menu (Global/Local) on Aqua (SF 1656876)
- Fix: ONIO: import of texture coordinates for polymesh objects (SF 1658182)
- Fix: provide/convert of transformed objects with caps (SF 1658185)
- Fix: provide/convert of non-simple quadrics (SF 1661508)
- Fix: newly created level objects may get wrong type (SF 1661732)
- Fix: provided NURBS patches of non-simple spheres (SF 1665915)
- Fix:closing preferences with Ok does not redraw (SF 1665917)
- Fix: extrude ignoring bevel parameter revert (SF 1673532)
- Fix: tesselation GUI crashing when instance objects are selected (SF 1676787)
- Fix: object picking fails in draw level only views (SF 1680998)
- Fix: object picking reconsider dialog selection is off-by-one (SF 1681000)
- Fix: Tcl error when clicking into the (empty) property list for multiple selected objects (SF 1682820)
- Fix: Tcl error for "Help on property" if no properties are present (SF 1682822)
- Fix: STESS tesselation after certain NURBS curve modelling tools (SF 1690799)
- Fix: first view does not appear in the tree view (SF 1695151)
- Fix: crash when elevating non-clamped NURBS patches (SF 1701803)
- Fix: incorrectly drawn lights with light shaders (SF 1764817)
- Fix: "Defaults!" button in shader property GUIs when a shader parsing plugin is in use (SF1779508)
- Fix: single point editing of multiple selected objects (SF 1790657)
- fixed select background color when changed via X resources (backported appropriate BWidgets bug-fix)
- fixed local views redrawing upon scene saving
- added tag type "RP" to block access to certain properties of an object via the property GUI
- ExtrNC objects may no longer, erroneously, be associated with materials
- improved handling of AutoFocus in various dialogs
- added last used tool facility to Tools main menu
- added keyboard shortcuts to set point coordinates in the direct point editing dialog (using or )
- added "Revert" parameter to ExtrNC object
- ExtrNC objects now draw a direction arrow (like NCurve objects)
- ExtrNC objects may now extract the complete surface boundary
- the standard ConcatNC knot type is now "Custom"
- Cap objects can now also create caps from non-planar curves (by splitting the curve into four pieces and building a Gordon surface)
- in direct connection with the above, Gordon surfaces now support rational curves for the special case of a Coons patch configuration (four curves)
- improved speed of object picking in shaded views
- added Split PolyMesh modelling tool
- added clamping of NURBS patches (new scripting interface commands "clampNPU" and "clampNPV" and new main menu entries "Tools/NURBPatch/Clamp")
- added "rescaleKnNP" command to rescale the knot vectors of NURBS patches and main menu entries "Tools/NURBPatch/Rescale Knots to Range" as well as "Tools/NURBPatch/Rescale Knots to Mindist"
- added "insknNPU"/"insknNPV" commands and tools (new main menu entries "Tools/NURBPatch/Insert Knot U" and "Tools/NURBPatch/Insert Knot V") to insert knots into NURBS patch knot vectors
- added "splitNPU"/"splitNPV" commands and tools (new main menu entries "Tools/NURBPatch/Split U" and "Tools/NURBPatch/Split V") to split NURBS patches at defined parametric values
- added "extrNP" command and tool (new main menu entry "Tools/NURBPatch/Extract Patch") to extract a sub-patch from a NURBS patch
- improved knot type handling in remove knot tool
- added "trimNC" command and tool (new main menu entry "Tools/NURBPatchTrim")
- sweep cross sections may now be scaled independently in x- and y-dimension by using the y- and z-dimensions of the scaling curve
- sweep and birail objects now support 0 as number of desired sections and derive the sections from the trajectory or first rail curve respectively
- birail objects now support 1 and 2 sections properly
- added antialiasing drawing option for lines
- added hidden/wizard preference options for line width: "LineWidth" and "SelLineWidth" (set via ayamrc file)
- improved drawing of selected curves in Shade&Draw views
- improved shading quality of NURBS surfaces in STESS mode
- revived STESS drawing of trimmed NURBS surfaces
- added DXF import/export plugin dxfio
- added X3D import/export plugin x3dio
- Mops import is now a plugin
- Wavefront OBJ import/export is now a plugin
- files may now be imported using the normal "File/Open" and "File/Insert" menu entries (Ayam will load the right plugin automatically and open the corresponding import options dialog, pre-seeded with the right filename)
- likewise, scenes may be exported using "File/Save as" and choosing a filename with an extension
- improved scalefactor option usage in rrib plugin
- added option to write binary 3DMF files
- added ReadCurves/WriteCurves/WriteSelected/ScaleFactor/RescaleKnots options to 3DMF import/export
- added proper trim curve support to 3DMF export/import
- all import options that scale NURBS patch knots now also scale the trim curves properly
- added ReadSTrim import option to mfio, onio, objio, and rrib