Performing action...

PDElib V6.0 Release Notes

PDElib 6.0 Release Notes - February 16, 2007
 
 ------------------------------------------------------------------------------
 Introduction
 
    This file contains important information for new and previous users of
    PDElib. If you are upgrading from PDElib 3.2.x, be sure to read the
    release notes for the 3.2.x patch releases.  These files are in the doc
    subdirectory and are named v3_2_7.txt, v3_2_6.txt, etc. Where
    appropriate, problems corrected in these patch releases have also been
    corrected in the 4.0 release (but are not documented in these
    release notes).
 
 ------------------------------------------------------------------------------
 DXF CHANGES
 
 AutoCAD 2007 Support
    With the PDElib v6.0 release, AutoCAD 2007 Parsing/Formatting support has
    been added. Beginning with AutoCAD 2007, AutoCAD will now be identifying
    DWG files created by licensed Autodesk software applications. When a 2007
    DWG file that was created by PDElib is read into AutoCAD 2007, a message
    will be displayed that states:
    
    "Non Autodesk DWG. This DWG file was saved by a software application not
     developed or licensed by Autodesk. Use of this file with AutoCAD software
     may result in stability issues."
    
    This is due to a bit setting (signature) in the DWG file. The DWG files
    that we create are high quality DWG files, and will function properly in
    AutoCAD 2007 as they have in past AutoCAD versions.
 
 
    o Added support for the simple vertex entity
    o Fixed handling of text justification when converting DXF text/mtext and
      tolerance to a GDX polyline
      
 ------------------------------------------------------------------------------
 DXF DDF Changes
    o Removed unused axismode, axisunit, cyclecurr, cyclekeep, flatland,
      handles, ucsflag, vpointhdr from dxf_header
    o Added dimassoc, dimatfit, dimlunit, halogap, hidetext, indexctl, 
      intersectioncolor, intersectiondisplay, obscolor, obsltype,
      projectname, pucsbase, pucsorthoref, sortents, ucsbase, ucsorthoref,
      viewdir, xclipframe to dxf_header
    o Changed group code on ucsname from 1 to 2
    o Added dimatfit to dxf_dimension_style_table_data
              
 ------------------------------------------------------------------------------
 GDX NEW MAPPINGS
    o "gdx_ext_surf explode"
   
 ------------------------------------------------------------------------------
  GDX Changes
  
    o Improvements made to GDX Tessalation code
    o Improvements made for sorting loops, in a face, in first is order
      direction.
    o Improvements made for the fixing of wrong loop directions.
    o Enhanced the explosion of a GDX Extruded surface.
    
 ------------------------------------------------------------------------------
  STEP Changes
    o Improved handling of Void shells when going from GDX to STEP
    o Added support for mapping Step Axis2 Placement 3D to a GDX user
      attributes.
    o Added support for mapping STEP cloud of points (COP) to GDX user
      attributes.
    o Added support for mapping STEP geometric validation properties to GDX user
      attributes.
    o Force setting of Locale to be english when formatting out a STEP file.     
 
 ------------------------------------------------------------------------------
  Parasolid Changes
    o Added support for taking a Parasolid Minimum Body to GDX
    o Improved handling when no Shell/Faces is created in a Parasolid Region
      when reading in a Parasolid file.         
 
 ------------------------------------------------------------------------------
  ACIS Changes
    o Can now handle translating multiple Lumps in a single Solid to a 
      GDX Solid
    o ACIS 16.0 windows support has been added.
 
 ------------------------------------------------------------------------------
 Bug Fixes
 
 The following problems which were submitted as PWRs (Product Work Requests)
 have been corrected:
 
 -------------------------------------------------------------------------------
   Please see the Release Notes from 5.0 (4.5.txt) for
     more information on bug fixes in this release.
 
 -------------------------------------------------------------------------------
 
 PWR: pl03590
 When trying to tessallate a long skinny face, the error:
 
 GEA_INTERNAL_ERR:
 Internal Error. non-planar tessellation : odd number of iso-intxs
 
 occurs. 
 
 This was fixed by during tessellation it will skip isolines which give odd
 number of iso intxs errors and caused tess to fail, tess is able to succeed
 with this change.
 
 -------------------------------------------------------------------------------
 PWR: pl03597
 Incorrect tessellation of slight seam crossing on a face with a toroidal
 surface.
 
 This was fixed by skipping degen edge check which would collapse vertices of
 degenerative edges. This was done by adding a check for poles on
 degenerative edges.
 
 -------------------------------------------------------------------------------
 PWR: pl03598
 Remove seam crossing creates an outer boundary from the surfaces natural
 boundary when it should not, results false outside point in loop queries.
 
 When checking if implicit outter loop is needed, consider the loop senses.
 
 -------------------------------------------------------------------------------
 PWR: pl03601
 A cylindrical face fails tesselation with the following error:.
 
 GEA_INTERNAL_ERR:
 Internal Error. non-planar tessellation : odd number of iso-intxs
 
 occurs.
 
 This was fixed by during tessellation it will skip isolines which give odd
 number of iso intxs errors and caused tess to fail, tess is able to succeed
 with this change.
 
 -------------------------------------------------------------------------------
 PWR: pl03602
 Attempting to tessellate long skinny face pfid18512.gdx
 issues errors:
 ERROR, Too many segments returned from gdx__GenModelToParmUtility
 ERROR, Wrong number of points returned from gdx__GenModelToParmUtility
 then proceeds to allocate large amounts of memory (>2.0GB) and eventually
 crashes.
 
 The fix is gea__FaceToPolylineWFFace.c to error out and fail to tessellate
 the face gracefully.
 
 -------------------------------------------------------------------------------
 PWR: pl03605
 gdx_CurveGetLength can hang while computing length of certain edges.
 
 To fix we need to be limiting loop in gdx_CurveGetLength around
 gdx__BezierLengthUtility to max_iters of non-converging iterations
 
 -------------------------------------------------------------------------------
 PWR: pl03606
 This face has an outer loop with four inner loops with arc edges which are
 very close (but not intersecting). However, the loop approximations do
 intersect.
 
 This was fixed by changing gdx__LoopParmApprox option from
 GDX_APPROX_BY_NUM_PNTS_PER_SEG to GDX_NOOPT in gdx__FaceImproveInOutLoopDir
 to obtain more accurate approx loops.
 
 -------------------------------------------------------------------------------
 PWR: pl03608
 When creating a diametric diameter, the field dimatfit is used to control
 where the text for the dimension will be displayed. This field is missing
 from pdelib. This field needs to be added to the dxf_dimension, and possible
 to the dxf_header as well.
 
 Setting dimatfit to 2 (text only) keeps the text outside of the circle.
 
 -------------------------------------------------------------------------------
 PWR: pl03609
 When taking a STEP cylinder to GDX it has closed nurb curve bounded at the
 seam, the curve is being converted into a 2 point gdx polyline. 
 
 This should be checked to see if the closed nurb curve is trul degenerate,
 if not then a full curve should be generated.
 
 -------------------------------------------------------------------------------
 PWR: pl03610
 If the IGES 144 is parm preferred make sure the parm curves are closed and
 continuous. If they are not then use the model curves if they are closed and
 continuous.
 
 -------------------------------------------------------------------------------
 PWR: pl03614
 On MAC when parsing files of size, there would occur a DOF_SEEK_ERR.
 This was occuring due to a bug in the lseek function in the gcc compiler.
 
 To fix this issue, the include unistd.h must be used so that lseek can 
 determine with the offset is 32 bit or 64 bit.
 
 -------------------------------------------------------------------------------
 PWR: pl03618
 When reading in an ACIS file, if one face fails due to an ACIS api all, the
 entire solid will fail. This needs to be changed so that if a face fails, we
 skip that face and continue to process the other faces to retrieve as much
 data as possible. The attached acis data will only fail when using ACIS 7.
 If using a later version of ACIS, the api call has been fixed.
 
 -------------------------------------------------------------------------------
 PWR: pl03619
 When taking a GDX Solid into a DXF 3D solid, it will give a stack overflow
 error in e3mp__ConvertGDXToDXF. This is due to how the lint data is
 organized. At each level of topology there is a pointer that points to its
 child entities, but also to the next entity on that level, i.e. a Face will
 point to its coedges and then point to the next face in the list. Our mda
 copy routine can't handle this type of recursion.
 
 To fix this stack overflow, the routine was rewritten to handle the
 processing of the lint data into DXF.
 
 -------------------------------------------------------------------------------
 PWR: pl03620
 The IGES file has an IGES 106:0, which does not exist. While parsing the
 data in, the option IAFP_ASSUME_FORM_0 is used. The way this currently
 works, if the form that is set in the file does not exist, it will traverse
 through the list of forms for the entity, and choose the first available
 form. This is ok for most entities, but for the IGES 106 entities, there are
 3 different base forms that can be used based on the first parameter field,
 Interpretation flag. This states whether the points are stored as tuples,
 triplets or sextuplets. By defaulting the entity to always be a tuple, but
 the flag states it should be a triplet, this will cause a crash when trying
 to read the data out of the IGES entity.
 
 The parser was fixed to take into account the IGES 106 different PD section that
 specifies the tuples/triplet/sextuplets when the IAFP_ASSUME_FORM_0
 option is used.
 
 -------------------------------------------------------------------------------
 PWR: pl03622
 
 When formatting out a STEP file, and the Locale is set to German, the
 numeric values are using the comma instead of the decimal point on
 doubles/floats. This creates an illegal STEP file. STEP files require the
 use of the decimal point. To fix this, when formatting out the STEP file,
 the current locale needs to be saved, the current locale set to be English,
 and after the formatting is done set it back to the original locale.
 
 -------------------------------------------------------------------------------

Return to the PDELib Support Page