Ayam

Software Screenshot:
Ayam
Software Details:
Version: 1.20
Upload Date: 14 Apr 15
Developer: Randolf Schultz
Distribution Type: Freeware
Downloads: 16

Rating: nan/5 (Total Votes: 0)

Ayam is a free 3D modelling environment for the RenderMan interface. Free means that neither the author nor any contributors make money out of this software.

We need your feedback to keep this project alive. If you use Ayam, please submit your pictures, bug reports, or feature requests.

The current stable version is 1.8.3, released 5. Jul 2005.

Ayam currently runs on Unix (Linux, IRIX, FreeBSD tested), Win32 (Win95-Win2000, XP), and Mac OS X (with X11).

Features:

  • CSG-Modelling:
  • CSG (Constructive Solid Geometry): compose complex objects from primitives that are combined with boolean operations.
  • The following RenderMan primitives (quadrics) are implemented: Sphere, Disk, Cylinder, Cone, Hyperboloid, Paraboloid, and Torus; additionally, there is a Box primitive.
  • All quadrics may be automatically closed (missing cap surfaces generated), even if any of their parameters are not on default values.
  • Primitives may be combined using Level objects (that do CSG operations) in a hierarchy.
  • Ayam itself does not calculate and preview the results of CSG operations, this is done by a RenderMan compliant renderer or by the aycsg CSG preview plugin, which is based on OpenCSG. See an example rendering of the aycsg plugin.
  • CSG operations are not limited to the aforementioned primitives. As long as it is guaranteed that an object is fully closed, it may be used in CSG operations.
  • NURBS-Modelling:
  • NURBS (Non Uniform Rational B-Splines): allow to model smoothly shaped objects with high accuracy.
  • NURBS modelling is done by combining common NURBS curves or interpolating curves to NURBS patches.
  • Combination is e.g. done using tool objects: Revolve, Extrude, Sweep, Birail1, Birail2, Skin, and Gordon. For instance: a Revolve tool object has a planar curve as child object and revolves it to a surface of revolution; the curve stays editable all the time, caps may be added automatically by simply clicking on check-boxes. Fully closed NURBS object is available as primitive to CSG!
  • Revolve object with arbitrary angle of revolution; may create full caps.
  • Extrude object with holes, bevels and caps.
  • Sweep object implements the standard sweep operation (sweeping a cross section curve along a trajectory curve); the cross sections may be rotated automatically, so that they are always perpendicular to the trajectory; in interpolating mode, the sweep interpolates all the cross-section-curves; a scaling curve may be present that modifies the sweep further.
  • Birail1 object sweeps a cross section along two rail curves.
  • Birail2 object sweeps a cross section along two rail curves, morphing it into a second cross section at the end of the rail curves.
  • Skin object is able to skin curves of arbitrary topology (skin an interpolating curve with 4 points with a linear NURBS curve with 2 points and a cubic NURBS curve with 10 points); in interpolating mode, the skin even interpolates all the curves.
  • Gordon object creates Gordon surfaces that interpolate a network of curves.
  • Cap object is able to create planar caps from curves.
  • ConcatNC object concatenates a number of NURBS curves, creating fillets where necessary.
  • High quality Text object creates objects based on extruded Bezier curves extracted from TTF files.
  • Additional Geometric Types:
  • To complement the feature set and allow easier integration of objects from systems with other modelling paradigms, Ayam also supports:
  • Bilinear and Bicubic Patch Meshes
  • Poly Meshes
  • Subdivision Surfaces
  • Metaballs
  • Those objects will be imported and exported but no extensive set of modelling tools exists to modify them.
  • RIB-Export:
  • Highly acclaimed RIB-Export.
  • Invoke renderers directly from a view window (including a progress meter and cancel button).
  • AreaLights
  • ShadowMaps
  • Custom RiOptions and RiAttributes using tags.
  • Texture coordinates using tags.
  • Arbitrary primitive variables using tags.
  • Direct support for the following RenderMan compliant renderers: BMRT, 3Delight, Air, Aqsis, Pixie, RenderDotC, Angel, and PRMan.
  • Permanent Preview feature.
  • RIB-Import:
  • RIB-Import, supporting Lights, Quadrics, CSG, NURBS, PolyMeshes, Subdivision Surfaces, Transformations, Shaders, Arbitrary Options, Attributes, and Primitive Variables.
  • Import/Export:
  • Wavefront OBJ Export, supporting (trimmed) NURBS and PolyMeshes.
  • Rhino 3DM Import/Export supporting (trimmed) NURBS and PolyMeshes.
  • Apple 3DMF (V1.0) Import/Export supporting (trimmed) NURBS and PolyMeshes
  • Misc:
  • Easy to understand user interface.
  • Full (indexed) documentation available as HTML or PDF.
  • TreeView with Drag-and-Drop support.
  • Custom objects that may freely implement their representations (using OpenGL and RIB) and even small GUIs to edit their type specific parameters may be written by the user and dynamically loaded at runtime.
  • Scripting interface: Tcl.
  • Script Objects.
  • Instancing, arbitrary number of modeling views, object clipboard, independent property clipboard, console, n-level undo.

What is new in this release:

  • 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 alsshift/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

What is new in version 1.19:

  • 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

What is new in version 1.18:

  • 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 to broken 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)
  • fixed single point editing of PolyMesh and SDMesh objects (SF 3094086)
  • Modelling:
  • the default zoom view () and direct point edit () keyboard shortcuts are now () and () respectively to make way for two very important new shortcuts:
  • modelling actions like move, scale, or rotate no longer decide what to transform (objects or selected points) based on the point selection; now always objects are transformed, until the user switches explicitly to points using (while can be used to switch back to objects)
  • 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 to multiple (selected) points
  • the Revolve tool object now supports arbitrary ThetaMax values in B-Spline mode (Sections != 0)
  • added Arc and Radius parameters to create closed B-Spline curve tool
  • added Radius, TMin, and TMax parameters to NCircle object creation dialog
  • added modelling action to snap the selected points to the mark (new shortcut )
  • added modelling action to snap the selected objects to the mark (new shortcut )
  • added view action to pan the view to the mark (new shortcut )
  • to avoid 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 to manage 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") to the created instance child so that 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 also with curves where there are multiple knots in the end region(s)
  • NURBS curve clamping can now also clamp only one end of the curve
  • NURBS patch clamping now works with half clamped patches and also with patches where there are multiple knots in the end region(s)
  • NURBS patch clamping can now also clamp 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
  • starting modelling actions from the toolbox now also considers the AutoFocus preference setting, if enabled, the action is started in all views
  • Scripts/Scripting Interface:
  • number conversion errors are now correctly detected and reported in all scripting interface commands
  • added "-world" option to setPnt/getPnt commands (to transform coordinates from/to world space)
  • renamed "-p" option to "-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
  • the "hSL" command has been removed from safe interpreters, use "sL" instead
  • 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")

What is new in version 1.15:

  • This release adds support for approximating curves and improves the offset curves.
  • Script objects now maintain individual parameter sets, Gordon caps (from non-planar curves) are more robust.
  • In addition, the keyboard navigation and focus management in the GUI have been improved a lot. The usual heap of bugfixes completes this release.

Other Software of Developer Randolf Schultz

Ayam
Ayam

3 May 15

ShellyLib
ShellyLib

3 Jan 15

Comments to Ayam

Comments not found
Add Comment
Turn on images!