Main page Products Overview Future Plans Changelog
IGES VDAFS STEP
Compatible with: SMS's NLib SMS's SMLib IntegrityWare's SOLIDS++
Neat Stuff
Contact Info: HarmonyWare, Inc. PO Box 7521 Ann Arbor, MI 48107 colomon@ralf.org
|
| Changes for IGES 1.6.6/VDAFS 1.5.0/STEP 1.3.6/SAT 1.2.1/OpenNurbs 1.2.1/Parasolid 0.6.3/DATAKIT-CATIA 1.0.2/DATAKIT-CATIA5 1.0.2/DATAKIT-UG 1.0.2/DATAKIT-PRO/E 0.5.2/SolidWorks 0.5.0 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for release. 2008-06-17.
- Properly use the 64-bit release libraries string.
2008-06-16.
- STEP: Turn off coordinate system export, as it wasn't clear
it was performing any useful function, and it was clear it
was making the STEP Tools validation checker complain.
2008-06-15.
- STEP: Write bounded_surface_curve instead of surface_curve
(because our surface curves are always bounded); then allow
bounded_surface_curves to be read in! 2008-06-15.
- STEP: If nothing else has been created, look for faces just
hanging around waiting to be trimmed surfaces. (Based on
broken file from customer.) 2008-06-12.
- SolidWorks: Previously had 32-bit and 64-bit versions of
the COM interface file. But it turned out the 64-bit
version worked fine in 32-bits, so we switched over to
using just that one. 2008-06-12.
- Add 64-bit build instructions. 2008-06-10.
- Changes needed to get Win32 release mode to build
successfully again. 2008-06-10.
- Add 64-bit library link instructions for OpenNURBS40.
2008-06-09.
- Changes to build setup needed to get most of the
translators compiling in 64-bits. 2008-06-09.
- First mod to generate projects with x64 support.
2008-06-06.
- STEP: Tighten up the last one a little bit, so that
something more than coordinate systems is needed.
2008-06-06.
- Comment out CountAssemblyInstanceEntities, which is a
fantastically inefficient function. 2008-06-06.
- STEP: The assembly object counting function is massively
wasteful, so don't use it to test for whether any actual
objects exist in an assembly. 2008-06-06.
- DATAKIT: Merge in changes needed to make DATAKIT V52 work.
2008-05-23.
- VDAFS: Fix VDAFS so that product name I/O works.
2008-05-21.
- STEP: Fix STEP so the file name field is the file name
rather than the product name. 2008-05-21.
- IGES: "Product name" HwHeaderInfo support for IGES.
2008-05-21.
- Turn on the check for circles with more than 360 degrees --
previously Nlib converted circles with between 360 and
360.1 degrees to exactly 360, now not all versions do, so
we add the code back in on our end. 2008-05-20.
- IGES: Add HW_MSC_HEADER class of messages, and apply it to
the standard header/footer messages in file translation.
2008-05-08.
- IGES: Add proper assembly shared tree structure back into
the code, with an emphasis on the sharing this time.
2008-04-16.
- Add HW_USE_BASIC_NLIB wrapper so code will compile
correctly under mNlib. 2008-04-14.
- When creating a short connector edge, check the edge being
created against both 2d and 3d tolerance (instead of the
previous code, which just checked the UV length versus
1e-8). 2008-04-11.
- openNURBS: Fix get parameter range glitch on wrapped ON
surface type. 2008-04-10.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for next release cycle. 2008-04-08.
| Changes for IGES 1.6.5/VDAFS 1.4.9/STEP 1.3.5/SAT 1.2.0/OpenNurbs 1.2.0/Parasolid 0.6.2/DATAKIT-CATIA 1.0.1/DATAKIT-CATIA5 1.0.1/DATAKIT-UG 1.0.1/DATAKIT-PRO/E 0.5.1/SolidWorks 0.4.9 |
|
- DATAKIT, Pro/E, UG: Merge in the V51 branch. 2008-04-05.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for release. 2008-04-05.
- Rework the graph output patch a touch, expand it to work in
for HwNlibSolidFaces as well. 2008-03-27.
- Add DumpUVLoop function, which dumps the UV components of
an IwLoop in a format that can be converted to a graph by
graph_uv/graph.pl. 2008-03-27.
- Rewrite the last patch so that it works in release mode
too. 2008-03-25.
- Check to make sure there's something in the curves array
before referencing element zero of it. 2008-03-25.
- SolidWorks: Allow SolidWorks license key to be passed into
the C-style import interface. 2008-03-24.
- UG: Add path to parasolid schemas parameter to the
C-style UG importer. 2008-03-24.
- Trap HwNlibObject to Nlib conversion errors during C-style
import, allowing the import to continue despite them.
2008-03-24.
- CATIA, CATIA5, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
openNURBS: Change C-style import functions to set
tolerances. 2008-03-21.
- CATIA, CATIA5, Pro/E: Add HwImportOptions parameter to
Nlib-only import functions. 2008-03-05.
- CATIA, CATIA5, DATAKIT, Pro/E, SolidWorks, UG: Merge
DATAKIT_V50 branch into the main branch. This provides
support for DATAKIT V50 and compiling the DATAKIT (and
SolidWorks) libraries in Nlib-only mode. 2008-03-05.
- Make HW_WMAX and HW_WMIN broader. (Nlib must have changed
while I wasn't looking.) 2008-03-04.
- openNURBS: Patch needed to make the last change compile.
2008-03-04.
- SAT, openNURBS: Remove baked in default tolerance for
trimming edge curves, replacing it with file tolerance
instead. The old default made sense when we didn't have
the HwNlib3DTrimmedCurve entity, but that was years ago
now. 2008-03-04.
- Add code to attempt to work around the NMTLib bug where a
complicated drop starting on a seam will get the first
point of the UV curve on the wrong side of the seam, have
three additional wonky points, and then settles down to a
nice sensible UV curve. (Update -- a better patch for this
should be coming in the next release.) 2008-02-28.
- Merged code from DATAKIT V50 branch. 2008-02-20.
- Parasolid: When reading a pointer, skip only the next
whitespace character (unless that character is a control
character, in which case skip until the control characters
stop). This allows import of character array entities
whose first character is a space. 2008-02-19.
- SAT: Embed color-overriding code as a debugging aid.
2008-02-18.
- STEP: Escape backslashes when writing STEP strings (like,
say, the filename). 2008-02-17.
- SAT: Debugging switch (turned off) that lets you always
create a blend surface, even with blendsurs that have NURBS
versions included. 2008-02-17.
- SAT: Improved debugging name tagging to include
spline-surface subtype. 2008-02-14.
- STEP: Allow STEP translator to use keyword shortcuts, with
a list of shortcuts extracted from a STEP spec found
on-line (plus one determined by observation). 2008-02-13.
- SAT: Merge changes from branch which implements
HwNlib-based SurfaceToBrep function and uses it to export
HwNlibSurface objects to SAT files. 2008-02-11.
- Allow evaluation of reparameterized curves. 2008-02-05.
- Parasolid, SAT: Add fit tolerance concept to
HwNlibBlendSurface. Extract fit info from SAT blends and
use it instead of model tolerance when dropping points to
the a support NURBS surface. 2008-01-31.
- SAT: Support parsing for offsurfintcur. 2008-01-24.
- SAT: Parsing support for orthosur type. 2008-01-24.
- SAT: Do not allow a half-constructed subtype object to be
stored in the subtypes table. This means the subtypes
table must be changed to allow null objects in it.
2008-01-24.
- STEP: Trap errors that occur if a file cuts off in
mid-stream. 2008-01-24.
- SAT: Add blendsupzro type -- even though we have no idea
exactly what it is, it makes the files parse correctly,
which is a big win. 2008-01-24.
- Add much-needed return statement. 2008-01-22.
- Add simple function to classify blend surfaces. 2008-01-22.
- Trial implementation of the new analytic surface-surface
intersection code, hacked into the old curve intersection
code. 2008-01-14.
- Add CanConvertToHwAnalyticSurface function. 2008-01-14.
- STEP: Workaround to handle bad axis2_placement_3ds on
spheres, when the center is present and valid. 2007-12-17.
- Refactor new intersection code so we can get the linear
curve starting point used to calculate the intersection
curve point. 2007-12-10.
- Only use the analytic degenerate torus object for
degenerate "select inner" tori. 2007-12-06.
- DATAKIT: Properly handle surface entity and parametric
surface types when they are high-level objects in a file.
2007-12-06.
- In the new intersection curve code, when setting up the
chart_t array, use the distance between the two
corresponding chart points, rather than the distance
between the first two chart points. 2007-12-05.
- Implement simple HwAnalyticIntersectionCurve class.
2007-11-29.
- Fix glitch in new intersection code (sizing array and then
adding to it rather than assigning as it should have been).
2007-11-28.
- Some more efficiency refactoring of the new intersection
code. 2007-11-28.
- Refactor a touch to keep matrices for the duration of the
existance of an intersection object, instead of creating
them fresh each time through the loop. 2007-11-28.
- CATIA5: Better error messages for CATIA v5 file opening.
2007-11-20.
- Add .CATDrawing to the CATIA V5 file extensions.
2007-11-20.
- STEP: Fix shell-based surface model errors on a
shell-by-shell basis, rather than waiting until the entire
shell is done and then looking for an error (which is never
seen because the errors are trapped). 2007-11-15.
- DATAKIT: Merge in changes for DATAKIT V49. 2007-11-14.
- Parasolid: Add another exception (in the version 18 path)
to the embedded schema rule. Based on emperical evidence
(from file ITEM_2.x_t). 2007-11-14.
- CATIA5: Nice message if your sub-assembly file is
completely missing. 2007-11-08.
- CATIA5: Clean up assembly tree processing messages a bit,
and try to eliminate potential buffer overflows from
extremely long filenames. 2007-11-08.
- CATIA5: Better error message when a component part file
cannot be read. 2007-11-08.
- SolidWorks: Use the temporary file deleter class to delete
the temporary files created during SolidWorks import.
2007-11-06.
- UG: Support temporary file path override. 2007-11-06.
- HwTest: Update temporary file path override test to support
UG. 2007-11-06.
- SolidWorks: Honor temp file path override, and use the new
safer OLE class code every place else OLECHAR buffers were
used. 2007-11-03.
- SolidWorks: Define simple class to manage arbitrary-sized
OLE_CHAR buffer and use it to handle temporary filenames.
2007-11-03.
- SolidWorks: Framework for new path_for_temporary_files
import option, which allows the user to control where any
temporary files needed for import are created. (Or at
least, will allow the user to control that once the
internals are implemented.) 2007-11-02.
- IGES, openNURBS: Merge in IGES rewrite from branch.
Basically, the old version of IGES built up a table of
objects in the model, starting at the front and working to
the end, and building all the sub-objects along the way.
The new IGES scans the file looking for interesting objects
to create, and only creates sub-objects when they are
needed. This matches the way newer translators have always
worked, and should be significantly more memory efficient.
2007-11-01.
- STEP: Modify HwNlibSimpleImporter to have an optional
HwHeaderInfo parameter, and use it to implement a STEP Nlib
import function which returns a HwHeaderInfo parameter.
2007-10-26.
- Fix IGES Nlib receptacle import so that it actually uses
the STACK parameter passed to it. 2007-10-24.
- Try to eliminate warnings from the POPLib-less. 2007-10-18.
- Added Borland compiler test to typename section, at
customer request. 2007-10-18.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version number for
next development cycle. 2007-10-17.
| Changes for IGES 1.6.4/VDAFS 1.4.8/STEP 1.3.4/SAT 1.1.9/OpenNurbs 1.1.9/Parasolid 0.6.1/DATAKIT-CATIA 1.0.0/DATAKIT-CATIA5 1.0.0/DATAKIT-UG 1.0.0/DATAKIT-UG 0.5.0/SolidWorks 0.4.9 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for release. 2007-10-11.
- DATAKIT: Check for DATAKIT error in face and loop
processing. 2007-10-11.
- DATAKIT: More minor cleanups. 2007-10-11.
- DATAKIT, UG: Modernize the generic DATAKIT color code based
on the latest UG code. Then refactor the latest UG code to
call the new generic code. Clean up formatting. 2007-10-11.
- DATAKIT: Rename some more ugly variables, clarify comments,
delete obsolete code. 2007-10-11.
- DATAKIT: Rename variables called "l" to something much more
readable and slightly more meaningful. 2007-10-11.
- Pro/E: Attempt to implement datakit_log_file option for
Pro/E -- but logging does not appear to exist in Pro/E
translator at the moment. 2007-10-10.
- UG: Implement datakit_log_file option for UG. 2007-10-10.
- CATIA5: Implement datakit_log_file option for CATIA V5.
2007-10-10.
- CATIA: Implement datakit_log_file option for CATIA V4.
2007-10-10.
- UG: Add HwDeleteFileDuringDestruction and
HwRandomTemporaryFilename to help manage the creation and
deletion of temporary files needed for some exports. Use
them to help with UG. 2007-10-09.
- UG: Add basic units support -- only valid the top of the
assembly tree, but that's better than nothing. 2007-10-09.
- UG: Bring use of fre_part_xmt, ugr_FrePartXmt, and
ugr_InitXmtPart up to current standards, as per e-mail from
DATAKIT on 10/9/2007. 2007-10-09.
- CATIA5: Clean up the assembly code a tad. 2007-10-08.
- CATIA5: More comment cleanup and another log message added.
2007-10-08.
- CATIA5: Clean up comments, switch fatal error to error
message and continue with next shell. 2007-10-08.
- CATIA: Delete long commented out dead code, clean up
formatting a tiny bit. 2007-10-08.
- UG: Clean up the high-level processing code. 2007-10-05.
- SolidWorks: Got rid of a couple of ASCII 0s which had snuck
in. 2007-10-05.
- UG: Added error/warning messages to logging. 2007-10-05.
- UG: Clean up UgReadTrimmedSurface. 2007-10-05.
- UG: Refactor AddIdToObject, fix color code. 2007-10-05.
- Pro/E: TSLib Pro/E banner fixed (previously said UG).
2007-10-05.
- SAT: Got rid of a printf accidentally checked in with the
last check-in. 2007-10-04.
- SAT: Support for importing Revit named integer types with a
special attribute for them. 2007-10-04.
- SAT: Add structure for
integer_attrib-name_attrib-gen-attrib type. 2007-10-04.
- DATAKIT: Merge in changes for DATAKIT V48. 2007-10-03.
- Allow non-uniform or inverted z scaling when transforming a
circle -- as the z axis is completely irrelevant to the
circle, it can't cause any harm. 2007-10-03.
- Add proper cone support to CanOnlyEvaluateInParameterRange
interface. 2007-10-02.
- More meaningful implementations for
CanEvaluateOutOfParameterRange for cylinders, inverted
surfaces, swapped surfaces, and reparameterized surfaces.
2007-10-02.
- SAT: Remove the previous hack, and use an HwStdSet to track
when a coedge has already been processed, breaking out of
the coedge processing loop if it has. 2007-09-25.
- SAT: Watch for infinite loops when creating wires, and bail
if one is found. 2007-09-25.
- Allow HwCoordinateSystem::Transform to return a negative
z_scale if the transform was left-handed. If this happens
during cone transform, also switch the sign of the
semi-angle. 2007-09-24.
- openNURBS: Add IGES Level info to HwLayerInfo class. Make
the OpenNURBS layer number always be the layer index --
previously it might be the IGES level number if there was
one, but now that information is returned in the
HwLayerInfo structure instead. 2007-09-20.
- Invalidate parameter space curves if we realign the sphere
of a trimmed surface. 2007-09-14.
- Change the RealignSphere hack to only fire if a fallback
sphere face cannot be created -- this allows it to fix
cases which are currently broken without breaking cases
that currently work. 2007-09-14.
- Add debugging dump for failed trimmed surfaces. 2007-09-12.
- Pro/E: Clean up Pro/E code. 2007-09-12.
- HwDetermineFileType can now return HW_TC_MULTIPLE, which
means more than one file type has the extension. In that
case you need to call HwDetermineFileTypeMultiple to get
the list of possible file types. 2007-09-06.
- Pro/E: Add units (always MM because of rescaling).
2007-09-06.
- Pro/E: Support for IDs and other common attributes.
2007-09-06.
- Pro/E: Add error messages when there are processing
problems. 2007-09-06.
- Pro/E: Clean up code to delete created surfaces ASAP
instead of queuing them for deletion later (and not
deleting if there is an error). 2007-09-06.
- Pro/E: Change whitespace. 2007-09-06.
- Patch bug with V range in sphere realign, and turn it back
on for B-rep faces. (At least for long enough to test it.)
2007-09-05.
- SolidWorks: Check the status returned by CloseDoc, and
report it to the log. 2007-09-04.
- Tweaking whitespace formatting on one line. 2007-09-04.
- STEP: Fix the CADSTAR detection routine so that it checks
the originating system field rather than the preprocessor
version field. 2007-08-16.
- STEP: For CADSTAR models, merge shape representations if
multiple ones are connected to a single product.
2007-08-16.
- Rework tesselation code so that it only processes 500 faces
at a time. 2007-08-01.
- STEP: Start sketching in an implementation of coordinate
system export. 2007-08-01.
- DATAKIT, UG: DATAKIT v47 branch merged in. 2007-07-30.
- my_dump_print is no longer exported from NMTLib, so we
implement our own copy of the two calls we make, and rename
everything to hw_dump_print to avoid conflicts. 2007-07-27.
- IGES: Add new flag to ignore 126 curve trimming info, and
set it to true if the file preprocess version starts "HT
IGES". 2007-07-13.
- openNURBS: Import vertex normals on meshes, if they are
available. 2007-07-10.
- Implement simple system to track vertex normals and vertex
texture coordinates on HwNlibMesh objects. 2007-07-10.
- Cosmetic tweaks to HwCommon. 2007-06-27.
- Tweaks for the Nlib-only version. 2007-06-26.
- Fix vcproj creator to use OUT_LIBRARY if it is set. Add
new mNlib_nlib project. 2007-06-25.
- Proper directory paths for the MNlib projects. 2007-06-23.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Change version numbers
for start of next development cycle. 2007-06-19.
| Changes for IGES 1.6.3/VDAFS 1.4.7/STEP 1.3.3/SAT 1.1.8/OpenNurbs 1.1.8/Parasolid 0.6.0/DATAKIT-CATIA 0.9.1/DATAKIT-CATIA5 0.9.1/DATAKIT-UG 0.9.1/DATAKIT-UG 0.4.0/SolidWorks 0.4.8 |
|
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: New version numbers for release.
2007-06-18.
- Changes needed to handle SMLib version of IwPolyBrep.
2007-06-17.
- Changes needed to get full libraries to build
under TransLib -- mostly wrappers around IwPolyBrep
references, plus tweaking the file from DATAKIT to work
even when IwHCR.h is not present. 2007-06-16.
- DATAKIT: Merge in the DATAKIT v46 branch -- changes needed
to make the HW DATAKIT libraries work v46 of the DATAKIT
DLLs. 2007-06-15.
- openNURBS: Merge in Nlib_Mesh experimental branch. This
adds an HwNlibMesh class for polygonal meshes and adds it
to the basic HwNlibObject I/O classes. It provides code to
convert HwNlibMesh objects to IwPolyBrep objects and vice
versa, and adds support for IwPolyBrep to the basic HwTSLib
I/O classes. Finally, it implements HwNlibMesh I/O in the
openNURBS translator. 2007-06-15.
- Borrow the surface extending code from the experimental
intersection project and use it for every intersection
curve it can be used on. 2007-06-12.
- SolidWorks: Add delete wrappers on a couple more pointers.
2007-06-12.
- SolidWorks: Rough in OLE version of auto_ptr, use it for
main SW document classes. 2007-06-12.
- Implement and test new import option which allows you to
specify whether or not you would like to break up
independent curves into G1 continuous segments. 2007-06-02.
- Create a min_tolerance based on the length of the diagonal
of the B-rep being processed. 2007-06-02.
- SolidWorks: Break apart error conditions from a file open,
so we can tell (by looking at the error line number) which
particular error has occurred. 2007-06-02.
- If an assembly instance has no name attribute but its
assembly does have a name, use that name as the name of the
instance. 2007-05-30.
- Parasolid: Apply the change to process the entire linked
list of regions to the counting code as well! 2007-05-24.
- Parasolid: Change ProcessRegion to ProcessRegion, which
walks through the entire linked list of regions. (Might
this lead to face duplicatation? We only take the front
faces of each region...) 2007-05-24.
- When converting surfaces in model-only mode, trap planar
ruled surfaecs and convert them to actual planes.
2007-05-20.
- Instead of doing all the hard work to calculate N_gprpal
for the 100% of the curve case, just take the curve's
ending parameter value. This should be slightly faster and
unlike N_gprpal, should never fail. 2007-05-14.
- openNURBS: First stab at implementing mesh to B-rep code.
(Turned off in favor of new HwNlibMesh type and IwPolyBrep
converstion.)
2007-05-06.
- If the linear path you are trying to arclength parameterize
is degree 1 with 2 control points, return success while you
are ahead. 2007-05-04.
- IGES: Fix broken attribute-handling code in system/plane
export. 2007-05-04.
- Parasolid: Pragmas to turn off optimizations on two files
that seem to cause VC 2005 to hang. 2007-05-03.
- Add Pro/E to the build. 2007-04-29.
- Parasolid: Handle it cleanly if a surface's auxiliary data
isn't available. 2007-04-20.
- DATAKIT: Merge in v45 DATAKIT support.
2007-04-20.
- CATIA: Factor in the matrix in sessions. 2007-04-19.
- CATIA: Handle session components as aassemblies.
2007-04-19.
- CATIA: Move the session functions into a new class,
HwCatiaSessionProcessor. 2007-04-19.
- CATIA: Simple tool used to restore the system path after a
session import. 2007-04-19.
- CATIA: Activate session file support. 2007-04-18.
- SAT: Fix the parsing of EDGE laws, by removing a fudge
factor that turned out to be completely unnecessary.
2007-04-13.
- Patch (from Gary) to get better knot adjustments when two
knots are very close together. 2007-04-07.
- Add name to independent type 514. 2007-04-06.
- File with points and groups and levels. 2007-04-06.
- IGES: Change the way we handle IsVoidShellIgnorable so that
it is sensible. Don't even try to call it unless all faces
have been created for the shell, because otherwise it will
always return true! 2007-04-05.
- DATAKIT: Tweaks to HW_DATAKIT_EXPORT use intended to make
the Datakit/TSLib compatibility layer play nice.
2007-03-16.
- IGES: Treat Metrologic files the same way we treat Darkstar
files -- ignore independent flags on components of other
objects. 2007-03-14.
- STEP: Clean up STEP entity class memory usage so it works
across DLLs. Read STEP file into a temporary array and then
sort it before passing it to the map.
2007-03-14.
- IGES: Commit the IGES parameter releasing patch into the
main source code branch. 2007-03-13.
- IGES: Don't mark independent entities independent. (Mostly
this saves unnecessary and confusing messages in the log.)
2007-03-09.
- SAT: Modify basic SAT file classes to allow examination of
subtype data, use that to create a simple utility which
dumps the count of subtypes found in the file. 2007-03-07.
- First working version of the Pro/E translator. 2007-03-01.
- Rough prelim version of ProE translator based on UG
translator. 2007-03-01.
- Fix Homogeneous to Euclidean translation code use in sumsur
creation code -- previously it thought every weight was
always 1.0. 2007-03-01.
- SAT: Reimplement sumsur code using the new sumsur creation
function. 2007-03-01.
- Start of sum surface implementation, with appropriate test
code (but no test cases yet). 2007-02-28.
- openNURBS: Tidy up spacing. 2007-02-27.
- Up the number of iterations to find the spine point on a
blend support blend, as the new tighter tolerance causes
some cases which previously worked to fail. 2007-02-23.
- Tighten the blend support blend spine tolerance from 1e-6
to 1e-8 to prevent the wiggles we were seeing in some
solutions. 2007-02-22.
- Parasolid: Change "Unable to create face" message to
"Unable to make face" so that it matches SAT and will get
treated the same way in our test harness. 2007-02-22.
- Parasolid: Check for undefined Parasolid parameter ranges
before creating an extended surface. 2007-02-20.
- SAT: Only use pcurve member on a pcurve if the pcurve_type
is 0. 2007-02-19.
- SAT: Fix "surfcur" to add a final bool parameter in version
16 and above. 2007-02-18.
- SAT: Get blend surfaces working in version 16. 2007-02-18.
- SAT: Based on further examination of the file, conclude
that the mysterious number before the summary knot data is
actually a part of the summary, most likely the degree.
Rearrange the code to match this. 2007-02-17.
- SAT: Don't try to create a null bspline, which can happen
if the parser gets screwed up. 2007-02-17.
- SAT: Read v16 summary curve in mysterious tail of v12 and
beyond intcur. 2007-02-16.
- SAT: Handle loops marked "hole". 2007-02-16.
- Parasolid: Fix parameterization correction on swept
surfaces so that it works even if the section curve
starting parameter is not zero. 2007-02-16.
- Allow smaller big_tolerances (but still require it to be
greater than tolerance). 2007-02-15.
- Previously, we set "big tolerance" (for surface-surface
intersection processing) to be one-tenth of the minimum
distance between the first and second points in the chart
given. This failed catastrophically if the first two chart
points were very, very close. Change to take one-tenth of
the maximum span between consecutive chart points instead,
and add a mimimum value of 10 times regular tolerance.
2007-02-13.
- Parasolid: Undo the 100x scaling patch. It caused far more
problems than it fixed. 2007-02-11.
- Parasolid: Fix units and tolerance for the experiment, just
to be thorough. 2007-02-09.
- Parasolid: Experimental patch -- scale everything up by 100
(putting it in centimeters instead of meters, and using the
standard 1e-6 tolerance NMTLib likes, though we haven't
adjusted those two things to match, yet). 2007-02-09.
- SAT: Patch sweepsur definition for ACIS R16. 2007-02-09.
- Removed in_middle_of_blend and allow_rational parameters to
GetSection, as the first didn't help, and the second was
never used and potentially caused other problems if it was
used. 2007-02-08.
- Try to manually rollback the GetSection code to have the
same functionally (only cleaner) as the first Unitized
version. 2007-02-07.
- Add in_middle_of_blend parameter to GetSection, allowing
two different behaviors -- "correcting" very small sections
in the middle of the blend so the resulting surface does
not have an internal singularity, while allowing them at
the end of the blend, where singularities are fine.
2007-02-07.
- Try to make the original GetSection version (plus Unitize)
smarter and cleaner. 2007-02-06.
- Backed out GetSection rewrite. 2007-02-06.
- Check in last finished revisions of GetSection rewrite.
(Planning on backing the entier change out, but if it is
checked in, it can be retrieved at a future date.
2007-02-06.
- Don't be quite so restrictive, there's no reason a blend
cannot be wider than a quarter pipe. 2007-02-06.
- Overhaul GetSection to be much smarter. 2007-02-06.
- Unitize vectors before calling CCWAngleBetween on them.
2007-02-05.
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Updated version numbers for next
development cycle. 2007-02-02.
| Changes for IGES 1.6.2/VDAFS 1.4.6/STEP 1.3.2/SAT 1.1.7/OpenNurbs 1.1.7/Parasolid 0.5.9/DATAKIT-CATIA 0.9.0/DATAKIT-CATIA5 0.9.0/DATAKIT-UG 0.9.0/SolidWorks 0.4.7 |
|
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for release.
2007-02-02.
- Fix the release build for the new DATAKIT libraries.
2007-02-02.
- CATIA5: Delete a lot of unnecessary includes. 2007-02-01.
- CATIA: Cleanup a tad and add more error logging.
2007-02-01.
- CATIA: Trap errors in pipe surfaces so that the remainder
of the pipe will be created even if an error occurs in one
segment. 2007-02-01.
- CATIA, UG: Cleaned up includes. 2007-02-01.
- CATIA: Pulled in the session case code from example, only
to realize it was quite funky and probably not ready for
prime time. It is all there, but commented out now. Will
study further in the future. 2007-02-01.
- CATIA: Delete a bunch of dead code. 2007-02-01.
- CATIA, UG: Hook back up tolerance and units. 2007-02-01.
- UG: More cleanups, dedicated IW_ERR_NOT_A_UG_FILE error.
2007-02-01.
- UG: Clean up includes, fix the ID code so it's a bit
smarter, and bump all IDs by one so you never get ID 0.
2007-02-01.
- UG: Comment out some debugging printfs. 2007-02-01.
- UG: Build framework to get decent IDs and names through the
UG assembly tree, and make the IDs work. 2007-01-31.
- UG: Start to add support for UG properties. 2007-01-31.
- DATAKIT, UG: Get transformations hooked up for wireframe
objects. 2007-01-31.
- UG: Fix crucial reversed logic test in the wireframe code,
rearrange the wireframe variable declarations a bit to put
them in more reasonable scopes. 2007-01-31.
- DATAKIT, UG: First stab at wireframe entity support.
2007-01-31.
- UG: Rework to use latest DATAKIT functions. 2007-01-30.
- CATIA5: Try to use the __GNUC__ define to automatically
make the changes needed to get Linux compiling. (Most of
which will probably need to be removed when the next
DATAKIT release comes out.) 2007-01-30.
- CATIA5: Add proper IDs to systems, points, and curves, too.
2007-01-30.
- CATIA5: Proper names and IDs for B-reps and assmeblies.
2007-01-30.
- CATIA5: Proper assembly error logging. 2007-01-30.
- CATIA5: Add proper destructor to clean up the assemblies
created in the new code. 2007-01-30.
- CATIA5: Remove the const from Transform's Dtk_transfo
argument, as apparently the functions called are not
properly const member functions. (GCC complains, MSVC++
6.0 does not.) 2007-01-30.
- CATIA5: Eliminate printfs in main assembly code, add some
basic logging. 2007-01-30.
- CATIA5: Make transforms work. 2007-01-29.
- CATIA5: First stab at real first-order assembly support.
Positioning still just roughed in. 2007-01-29.
- SolidWorks: Move HwNlibImportToAssembly class to
HwNlibGeneric source files so that all translators can use
it. 2007-01-29.
- CATIA5: Got rid of a bit of dead code from a previous
version. 2007-01-29.
- CATIA5: Merge dump convert_assembly into the established
class structure. 2007-01-29.
- CATIA5: Direct assembly handling code, directly borrowed
from the DATAKIT sample code. This is just a first
approximation, and needs to be converted to more of an HW
style, and then to proper assembly structure code.
2007-01-28.
- CATIA5: Get rid of hard tabs! 2007-01-27.
- CATIA5: Finish refactoring / cleanup of the main import
function. 2007-01-27.
- CATIA5: Factor out wireframe and point entity handling as
well. 2007-01-27.
- CATIA5: Factor out the code for reading surface-based
entities. 2007-01-27.
- CATIA5: Another tweak to ease the transition to Linux.
2007-01-27.
- CATIA5: Clean up includes, provide Linux version for
initialization function. 2007-01-27.
- DATAKIT: More tweaks (mostly added consts) from linting.
2007-01-27.
- Tweaks needed to get Lint working on DATAKIT code.
2007-01-26.
- Can't comment out include of iwgu_tsect.h, it's needed for
the SOLIDS_PLUSPLUS configuration. Instead, add an ifdef
around it so it is only included in the SOLIDS_PLUSPLUS
configuration. 2007-01-24.
- DATAKIT: Made some minor tweaks based on PC-Lint.
2007-01-24.
- A few tweaks suggested by PC-Lint. 2007-01-24.
- CATIA5: Only read visible entities, as invisible ones
currently seem to be crashing DATAKIT. 2007-01-24.
- When an intersection curve has to bound an infinite surface
it is supposed to intersect, make sure that the span-size
bounding box tweak always is at least 1e-5 in size. This
helps prevent intersections across a cone or cylinder from
generating a surface which is too small to actually use.
2007-01-23.
- Include poplib_example in the (Windows) makefile, and
update it so that it compiles on current SOLIDS++.
2007-01-22.
- Try to get more info when you zap failing blend surfaces.
2007-01-22.
- Add debugging code to dump (to stdout) the name of faces
which fail B-rep tests. 2007-01-18.
- DATAKIT: Integrate the latest versions from DATAKIT.
2007-01-17.
- Try to include line numbers in debugging output, to help
trace down problems with strange configurations of the
libraries. 2007-01-15.
- When creating an IwBrep, if we have a "success" flag but
the B-rep itself is NULL, set the flag to an error.
2007-01-12.
- IGES: Add new p_ensure_components_are_physically_dependent
flag to the IGES translator. By default false. If it is
true, when we find an object is a component of another
object, we mark it dependent right away. For now, only set
true if the file was created by DarkStar, but this could be
easily changed in the future if needed. 2007-01-12.
- SolidWorks: Don't allow errors to propagate up from
Parasolid file processing -- just log the error and go on.
2007-01-12.
- Change interface to importer_interface
2007-01-11.
- CATIA5: Add two new blocks from the sample DATAKIT code.
2007-01-11.
- openNURBS: Change to work with the latest version of
OpenNURBS 4.0. 2007-01-10.
- Parasolid: Trap errors in assembly instance creation.
2007-01-09.
- CATIA: Bring piping function up-to-date with the latest
DATAKIT, and turn it back on. 2007-01-05.
- DATAKIT: Put return-status trap and report wrappers arounf
the two main DATAKIT object processing functions, so that
errors in one entity are not fatal to the entire import
process. 2007-01-04.
- DATAKIT: DATAKIT seems to have changed the useful define
from DTK_TYPE_CARTESIAN_POINT to
DTK_TYPE_CARTESIAN_POINT_WITH_INFOS, so we do too.
2007-01-04.
- CATIA: Tell DATAKIT that analytic surfaces are okay.
2007-01-02.
- SolidWorks: Add some more messages to the log to aid in
understanding what is going on in complicated assembly
models. 2006-12-29.
- CATIA: Handle groups of models in a V4 file? Not sure what
this represents, but it's in the DATAKIT sample code.
2006-12-23.
- CATIA: Clean up the code a touch. 2006-12-21.
- CATIA: Basic import functionality working again.
2006-12-21.
- CATIA: Start sketching in basic import loop. 2006-12-21.
- CATIA: Turn off lire_ functions in V4, too. Add the
datakitread library to Catia v4 linking, as well. At this
point, the mostly commented out v4 code compiles and links,
though it will not import anything yet. 2006-12-21.
- SolidWorks: When reading an assembly, if the
sub-configuration name is blank, read all the
configurations of that file. 2006-12-21.
- Make the build work with DATAKIT's default paths.
2006-12-20.
- CATIA: Start trying to get V4 to compile, but it's not even
close yet. 2006-12-18.
- Change standard library linking model to /MDd; add
datakit_read library to UG library list. 2006-12-13.
- CATIA: Non-functioning partial update for latest DATAKIT
release. 2006-12-12.
- Partial update for latest DATAKIT libraries. 2006-12-12.
- Add ifndef around the code that doesn't work in SOLIDS++.
2006-12-12.
- CATIA5, UG: Update to use the new HwCheckInitFunctionReturn
function. 2006-12-12.
- DATAKIT: Add HwCheckInitFunctionReturn function to gather
the common DATAKIT Init function error check code to a
single location. 2006-12-12.
- Parasolid: Don't try to create empty bodies. 2006-12-11.
- CATIA, CATIA5, DATAKIT: Reestablish unfinished first stage
of DATAKIT update (previously taken out to allow release).
2006-12-07.
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Change version numbers for next
development cycle. 2006-12-07.
| Changes for IGES 1.6.1/VDAFS 1.4.5/STEP 1.3.1/SAT 1.1.6/OpenNurbs 1.1.6/Parasolid 0.5.8/DATAKIT-CATIA 0.5.9/DATAKIT-CATIA5 0.5.8/DATAKIT-UG 0.5.2/SolidWorks 0.4.6 |
|
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Change version numbers for release.
2006-12-07.
- CATIA, CATIA5, DATAKIT: Back out the changes for the latest
DATAKIT, as it will take about a week to get them all
working, and we need to release ASAP. 2006-12-07.
- Parasolid: Set the proper locale for Parasolid import, too.
2006-12-05.
- IGES, SAT, STEP, VDAFS: Make sure the import channels use
the proper "C" locale. 2006-12-05.
- IGES, VDAFS: Substitute HwStringToDouble for atof
throughout the code. 2006-12-05.
- Add HwStringToDouble function (which uses the HwTempLocale
locale even in Windows DLLs). 2006-12-05.
- IGES, SAT, STEP, VDAFS: Add HwTempLocale member variables
in the appropriate output classes for each translator, so
that the system should shift to the "C" locale for the
duration of CAD file output. 2006-12-05.
- IGES, Parasolid, SAT, STEP, VDAFS: Convert sprintfs of
double values that will be output into CAD files to
HwDoubleToString calss, so that they will use the locale
defined in the core. 2006-12-05.
- Add HwDoubleToString which should honor the HwTempLocale
even in Windows DLLs, and use it to fix TestChangingLocale
on Windows. 2006-12-05.
- More HwTempLocale out of the HwCommon header. On the
Windows DLL build, this means that only the core DLL is
affected when HwTempLocale changes the locale. 2006-12-05.
- Rename HwTempCLocale to HwTempLocale (since it can change
to any locale now). 2006-12-04.
- HwTempCLocale class added. 2006-12-04.
- CATIA, CATIA5, DATAKIT: Changes to try to get things up to
date with latest DATAKIT. 2006-12-04.
- Added debugging dump code to CheckFace. 2006-12-04.
- Don't try to convert exploded Nlib B-reps to normal IwBreps
-- instead use the exploded B-rep code for the conversion.
2006-12-01.
- Parasolid, SolidWorks: Get rid of obsolete path_to_schemas
argument in HwParasolidFile::Read. 2006-12-01.
- CATIA5: Comment out two obsolete prototypes which were just
messing up the Linux version. 2006-11-27.
- CATIA5, DATAKIT: Fix include path slashes to be Linux
compatiable. 2006-11-27.
- DATAKIT: Fix DATAKIT include filename case -- utilUV to
utiluv. 2006-11-27.
- SAT: Two more tweaks to handle SAT R16. 2006-11-21.
- SAT: Change rules for name_attrib-gen-attrib in version 16,
based on a sample file. 2006-11-21.
- In IntersectSurfacesToGetCurveSMS, check the start of the
curve for correctness, as we have found a case which gets
it wrong. 2006-11-17.
- IGES: If no geometry was found and an assembly instance is
marked (wrongly) as a definition entity, switch it to
geometry. 2006-11-17.
- Perform sanity checking on lifted curves, and use an
approximation to the HwNlibCurveOnSurface object instead if
the sanity check fails. 2006-11-10.
- Parasolid: We were comparing the (possibly) extended
parameters with the original parameters to decide if we
needed an HwNlibExtendedSurface. But Parasolid marks this
even if it has explicitly expanded the NURBS surface
already, in which case we do not want an
HwNlibExtendedSurface. So change the comparison to be
against the NURBS surface's actual UV domain. 2006-11-09.
- If possible, when we convert an HwNlibOffsetSurface whose
base surface is an HwNlibExtendedSurface, make it an
extended IwOffsetSurface. 2006-11-09.
- Add HwNlibExtendedSurface::GetBaseSurface accessor
function. 2006-11-09.
- Hook up the HwNlibExtendedSurface evaluation routines to
the new HwNlibSURFACE extended evaluation routines.
2006-11-07.
- Parasolid: Add some logic to ProcessSurface so that we can
flag when we want an HwNlibExtendedSurface to be wrapped
around b_surfaces which are extended, and use it to make
sp_curve's better. 2006-11-07.
- Extended derivative evaluation function working.
2006-11-07.
- Add HwNlibExtendedSurface to the unserializing tool.
2006-11-07.
- Sketch out a new HwNlibExtendedSurface class for extended
evaluation of HwNlibSURFACEs, and implement
HwNlibSURFACE::ExtendedEvaluate to eventually do it.
2006-11-07.
- SAT: Don't write out curve attributes on the curve's lump
and shell. 2006-11-06.
- Improve attribute handling on
HwNlibImporterInterface::PassNMTBrep (default version).
2006-11-06.
- Add tools to modify the values of a color attribute. (For
ease in testing.) 2006-11-06.
- STEP: Log the component processing error we caught in the
previous patch with a proper error message and reason.
2006-11-01.
- STEP: If you get an error processing a component of an
assembly, do not stop processing the entire assembly.
2006-11-01.
- Tweak to NMT IwBrep to HwNlibNMTBrep conversion to handle a
problem case I was looking at. Further tests are
definitely needed in this area. 2006-11-01.
- STEP: Add color export support to open B-reps. 2006-10-31.
- SAT: When copying IwSurfaces to IwBreps for export, copy
the surface's attributes to the B-rep. 2006-10-31.
- STEP: Move curve color code to highest level HwNlibCurve
export function. Add surface color code to highest level
HwNlibSurface export function. 2006-10-31.
- STEP: Write trimmed surface color info. 2006-10-31.
- STEP: Hook up the curve color export code to the curve
export code. 2006-10-31.
- STEP: Add WriteCurveColor. 2006-10-31.
- STEP: Change WriteColor to WriteSurfaceColor, because
WriteCurveColor will be different. (Thank you STEP.)
2006-10-31.
- STEP: Create new (local) HwStepColorMapper class to manage
colors on faces. Basically, when you create it, it replaces
the current face to color map (on the HwStepCreator object)
with a new one. When a face is added, it adds its color
info (if it has any) to the current face to color map. When
the B-rep is fully created, HwStepColorMapper::WriteColors
is called, which writes the top level B-rep color (if there
is one) and then over rides it (or doesn't, if there is no
top level) with the color for each face in the map. When
the HwStepColorMapper destructor is called, it deletes the
face to color map it created and puts the previous face to
color map back in control. 2006-10-31.
- STEP: Refactor WriteColor code so it can be applied to the
face code as well. 2006-10-30.
- STEP: Working WriteColor function. 2006-10-30.
- Change the AddColor function to be SetColor, working on
functions which already have a color attribute as well as
those that have no color. 2006-10-30.
- Better debugging dump code for lift curve routine.
2006-10-27.
- Change back modification to CurveIW intersection -- adding
the edge cases tested very poorly. 2006-10-26.
- Make the previous change affect only builds that cannot use
surface extensions. 2006-10-24.
- Try AddEdgeCases in the CurveIW intersection code.
2006-10-24.
- Move GetParameterValue to HwTSLibMath and prototype it so
everyone can use it. Use it to check the results of closed
intersection curves to make sure they're not too far from
correct. 2006-10-20.
- Parasolid: Realize that the swept surface patch logic
(ignore generating curve orientation flag, at least at a
low level) probably does apply to blend surface spines.
Implement it to see what happens. 2006-10-19.
- Add new warning-error / info message combo for the case
when the 3D trimming points on a curve are a significant
distance away from the curve. 2006-10-19.
- Parasolid: Removed the untested bits of the spun surface
patch -- it dubious at this point anyway, after the mods to
the swept surface patch. Might be partially reinstated if
we ever get a sample file which applies. 2006-10-19.
- Parasolid: After doing a sweeping study of swept surfaces
with inverted profiles, conclude that we want to invert
such surfaces only if the profile curve is an ellipse. No
idea why this should be, but it makes every case we know
now have the correct orientation. 2006-10-18.
- Parasolid: Tweak debugging code a bit to be smarter about
skipping faces. 2006-10-18.
- SolidWorks: Pass Parasolid header and tolerance to the
SolidWorks import interface. This is a bit of a hack, as
multiples of each will be passed -- but then, it should be
the same values each time, so no great harm done.
2006-10-17.
- Parasolid: Spun surface code added to look for reversed
profile curves. 2006-10-17.
- Parasolid: Add info on inverted section curves to swept
surface output. 2006-10-17.
- Parasolid: Try the swept surface patch on the surface of
revolution -- it seems like it belongs there, too.
2006-10-16.
- Parasolid, SolidWorks: Add options variable to the standard
array SolidWorks Nlib import, and fix the SolidWorks DLL
export control define. 2006-10-16.
- SAT: Fixed up meaningless SAT glitches from the last
version -- lots of meaningless defines generated by an out
of control Perl script and a typo. 2006-10-16.
- Patch obivous memory leaks in the bounding box generation
code. 2006-10-16.
- Parasolid: Modify the previous swept surface patch -- the
curve is reversed, leave the curve the same, but invert the
surface. That should get the parameterization and the
surface orientation both correct. 2006-10-14.
- Parasolid: Ignore the curve reverse flag for the sweep
surface definition curve. 2006-10-13.
- IGES: Implement
HwImportOptions::create_unused_dependent_objects.
2006-10-12.
- Tests for HwImportOptions::create_unused_dependent_objects.
2006-10-12.
- openNURBS: If it's a static openNURBS library link (on
Windows) we don't want ON_DLL_IMPORTS to be set, so add a
define, HW_USE_STATIC_OPENNURBS, if you are using the
static version of the openNURBS library. (That is to say,
you are linking a static openNURBS library into the (static
or DLL) HarmonyWare OpenNURBS translator.) 2006-10-11.
- openNURBS: Include HwOpenNurbs.h, so you get
HW_OPENNURBS_EXPORT defined properly. 2006-10-10.
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Set version numbers for next development
cycle. 2006-10-09.
| Changes for IGES 1.6.0/VDAFS 1.4.4/STEP 1.3.0/SAT 1.1.5/OpenNurbs 1.1.5/Parasolid 0.5.7/DATAKIT-CATIA 0.5.8/DATAKIT-CATIA5 0.5.7/DATAKIT-UG 0.5.1/SolidWorks 0.4.5 |
|
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update versions for release. 2006-10-09.
- Update to use Perl library Crypt::RandPasswd to generate
passwords, rather than the old password file. 2006-10-07.
- Add support for HW_TRANSLIB_ONLY define so we can tell the
difference between TransLib builds and normal POPLib
builds. 2006-10-07.
- Allow a little more flexibility in the match between the
end of an intersection curve and the equivalent chart
point. 2006-10-04.
- Fixed some signed/unsigned comparison warnings. 2006-10-03.
- Create HW_CDECL define and add it to functions called by
qsort. 2006-10-03.
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Change GW_EXPORT instances to match the
new DLL export scheme. 2006-10-03.
- Fix the DLL settings on a couple of hacked-in prototypes.
2006-10-03.
- Add Catia v4 library to the release builds of Catia v5 and
UG. No idea why this is needed, but it is. 2006-10-02.
- Add HW_NO_DEBUG to release builds of utils and tests.
2006-10-02.
- Properly create DLL defines for SMLib and TSLib (both
accidentally left off previously). 2006-10-02.
- File added for to make the DLL change work, but
accidentally not checked in with the last batch.
2006-10-02.
- CATIA, CATIA5, DATAKIT, IGES, Parasolid, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Overhaul DLL construction
components of translators. IW_EXPORT is translated to
translator specific versions like HW_IGES_EXPORT. Two new
defines control the defintion of HW_IGES_EXPORT --
HW_USING_DLL specifies that we are building DLLs, and
HW_IGES_EXPORTS specifies that the DLL we are building is
the IGES one. (And so on for the other translators.) These
defines are automatically handled by our standard generated
DLL project files. 2006-10-02.
- Add latest Parasolid schemas, versions 17 and 18.
2006-09-26.
- In ProcessNMTFaces, don't stop processing if an individual
face cannot be processed -- just skip it and continue.
2006-09-25.
- openNURBS: Juggle things slightly so we only define
ON_DLL_IMPORT on Windows builds. 2006-09-24.
- openNURBS: Add call to the Polish funcion so that all the
"i"s are dotted and the "t"s crossed for exports.
2006-09-24.
- openNURBS: Rewrite HwONXModelWrapper so that the Write
functions take a logger (and optionally an HwExportOptions
instead of an int for the version), and then rewrite the
standard Nlib and TSLib output functions to use
HwONXModelWrapper instead of ONX_Model directly.
2006-09-24.
- Add ON_DLL_IMPORT define to make the new/delete stuff
compile correctly. 2006-09-24.
- openNURBS: Clean up comments in header file. 2006-09-24.
- openNURBS: Originally we directly included ONX_Model code
from openNURBS. Then we commented it out and included the
actual openNURBS cpp file directly in our code. As of
version 4.0, that code is included in the openNURBS DLL, so
we drop it here (unless a define says we are building
against openNURBS 2.0 or 3.0). Also take the previous
commented out code (mentioned above) completely out of our
code. 2006-09-23.
- SolidWorks: Output the file's version number and the
document manager DLL's version number to the log file.
2006-09-22.
- VDAFS: Rewrite the code borrowed from Nlib to use the
IwStatus error recording system. 2006-09-22.
- VDAFS: Since we renamed the local (cs)plrep functions,
change the calls to those functions in this file to use the
local versions. 2006-09-21.
- VDAFS: First stage of converting VDA-FS code to not use
ERROR and OUT. 2006-09-21.
- Rewrite the borrowed Nlib functions to use the NMTLib
IwStatus error reporting system. 2006-09-21.
- A little stub function voodoo with MakeSameTypeNewId to
make sure it can be called without bringing in the entire
HwTranslatorGeneric header. 2006-09-21.
- openNURBS: First changes for 4.0 compatibility. 2006-09-20.
- openNURBS: Switch #ifndef to consistently use
HW_USE_OPENNURBS20 (previously some were that, some simply
OPENNURBS20). 2006-09-19.
- IGES: Change form_number from unsigned int to int, because
the IGES standard allows negative form numbers. 2006-09-18.
- SAT: Removed a "static" declation on GetBounds that was
messing an apparently antiquated Sun compiler. 2006-09-18.
- Turn blend caching back off, as it adds complexity for a
very small time benefit. 2006-09-15.
- Update the blend cache code to use serialized Nlib blend
surface info as a key, and turn it on. 2006-09-15.
- Back out the change which tried the non-pipe blend surface
first for intersection, as it sometimes yielded incorrect
answers. 2006-09-15.
- The pipe surface substitution has proved to be a
double-edged sword. It handles a number of tricky blend
surface intersection cases. But it causes frequent huge
spikes in memory usage because the caches built for the
NURBS pipes are huge -- that's as in 15+ megs. As a quick
solution to this, try the old intersection code first, and
only go to the pipe surface version if the old intersection
fails. 2006-09-12.
- Make ConvertSurfaceModelOnly work with blend surfaces which
are "hidden" (in, for instance, inverted surface), by
bypassing the HwNlibSurface::MakeNurbs call. 2006-09-12.
- Turn the HwTSLibIdealPipeSurface back off, as it was more
memory efficient but drastically slower. 2006-09-11.
- Try using the new HwTSLibIdealPipeSurface object for blend
surface intersections. 2006-09-11.
- First stab at HwTSLibIdealPipeSurface class code, based on
the old HwTSLibSurfaceInternalNlib class. 2006-09-11.
- SAT: Process lawsurs which have an embedded NURBS surface.
2006-09-07.
- SAT: Parse support for lawsur, and proper parsing of v15
lawintcur. 2006-09-07.
- Do not muck around with a blend's orientation just because
its spine was reversed. 2006-09-05.
- Function to unserialize a trimmed surface directly from a
filename. 2006-09-04.
- Parasolid: Get rid of debugging code accidentially checked
in the last merge. 2006-09-04.
- Parasolid: Expand to handle the 1401178 schema and
userfield data. 2006-09-04.
- Windows Map template declartion for the intersection curve
memoization object. 2006-09-01.
- Having "warning errors" for more locations where a face's
surface normal orientation is flipped. 2006-09-01.
- Flip the orientation of blend surface constructed with our
skinning algorithm rather than the NMTLib/Nlib version.
This should primarily affect TSLib/POPLib builds, and will
hopefully make them work more like the NMTLib builds.
2006-09-01.
- Closed up some memory leaks in the pipe for blend surface
code. 2006-08-31.
- Memoize intersection curves. 2006-08-30.
- Add SerializeToString to aid in memoization attempts.
2006-08-30.
- Start with a singularity width of 0.0, since we no longer
need it to also stand in for tolerance in the comparisons.
2006-08-28.
- Tweak to the singularity width tweak to also consider
tolerance as before, since sometimes tolerance gets
expanded after the singularity width calculation.
2006-08-28.
- Come up with reasonable default value (1.5 * tolerance) for
the singularity width if there are no singularities in the
surface. 2006-08-27.
- Introduce a new concept, called singularity width, which is
the length of the longest singularity on the currently
active surface. Use it to check for loop gaps in 2d
lighted to 3d space. 2006-08-27.
- Remove an ascii zero that had snuck in. 2006-08-27.
- Improve DoesCurveOrientationMatchChart so that it is used a
little whenever the curve is closed within tolerance (as
the trim curve routines work) and when there are at least
three distinct chart points to look at. Then make the
chart point drop routine more robust. 2006-08-26.
- Turn back on closed pipe surfaces, and take steps to ensure
the circles along the pipe have raesonably consistent
orientations. 2006-08-26.
- Don't create pipe surface for blend in intersections if the
blend spine is closed. This is a temporary measure,
because it isn't working right now, and I thought it would
be interesting to run tests like this while I try to
improvement the closed situation. 2006-08-26.
- Add debugging output for intersection curve blend pipe
surfaces. 2006-08-26.
- Refactor high level intersection curve code so that the
setup code can be used by the test code -- then use it.
Also add another intersection curve test case. 2006-08-25.
- Allow 30 tries at projecting to spine instead of just 20,
to help things work out if the coordinate values are
larger. 2006-08-25.
- Extract out the code to create a polynomial arc, and use it
to make a blend pipe surface if Advanced Nlib is not
available. 2006-08-24.
- When blend surfaces are intersected to get curves, use a
pipe surface along the blend's spine rather than the actual
blend surface. 2006-08-24.
- Clean up a pair of memory leaks. 2006-08-22.
- Don't force an error if we cannot find a support
intersection with our new blend surface as support code --
that's why we have an intersection found flag! 2006-08-21.
- STEP: Get shell based surface model to properly import open
shell breps again. 2006-08-21.
- STEP: If we find two or more layer "styles" on the same
entity, create a HwNlibLevel attribute which contains all
of the layer numbers instead of conflicting duplicate
single-layer attributes. 2006-08-21.
- STEP: Process shell_based_surface_model type to create a
series of B-rep objects in an assembly rather than a single
open shell B-rep object. (Because closed shells are
apparently allowed.) 2006-08-21.
- Turn off the new blend as pipe surface code for closed
spines. 2006-08-19.
- Experimental special case code to treat support surfaces
which are blends as "analytic" pipe surfaces along the
blend's spine. 2006-08-19.
- Add (turned-off) complete blend section debugging dump to
section failure code. 2006-08-17.
- Add some better debugging tools for blend surfaces.
2006-08-17.
- Move HwPtrDiff further back, so it is after the prototype
for hw_assert. 2006-08-17.
- Fix HwPtrDiff so it checks in debug mode and does not check
in non-debug mode, including limits.h in the process so
UINT_MAX can be legally used. 2006-08-16.
- Instead of trying every section and then erroring out if
there were more than two failures, error out as soon as
there are more than two failures. 2006-08-16.
- Move the template function which uses HW_ASSERT to after
the definition of HW_ASSERT. 2006-08-16.
- Add the name of a trimmed surface in a comment to the HWO
dump of a trimmed surface. 2006-08-16.
- Try to detect very narrow 4-edged faces and adjust
tolerance accordingly. 2006-08-16.
- Turn on comments for HWO files. 2006-08-16.
- Add a comment to test the HWO comment facility. 2006-08-16.
- Rework in the UnSerialize functions so they are based on
the HwLowLevelAsciiReader class rather than the
HwLowLevelAsciiInput class. 2006-08-16.
- Correct the Nlib knot error message so it makes a bit more
sense. 2006-08-15.
- IGES: Fix HwIgesReadGlobal so that it works again after the
recent overhaul of the low-level input code. 2006-08-14.
- Add KERNEL_SOLIDS and KERNEL_POPLIB defines for IW
libraries. 2006-07-29.
- Introduce the HwPtrDiff template function to substract two
pointers and return the difference as an unsigned int, and
use it to get rid of lots of 64-bit warnings. 2006-07-28.
- Clean up trivial details to get a cleaner compile.
2006-07-28.
- Changes to help get the build working under Visual Studio
2005 and the latest ActiveState Perl. 2006-07-27.
- Changes needed to block all those idiotic "Microsoft
deprecates standard C library" warnings. 2006-07-27.
- Change obsolete /GX to /EHsc for Microsoft projects and
makefiles. 2006-07-27.
- Add HW_IW_TESS_AVAIL define. 2006-07-25.
- SAT: Add degenerate_curve type. 2006-07-21.
- Last change to make all connector on surface tests pass.
2006-07-05.
- Partially working copy of new connector on surface code.
2006-07-05.
- Refactor connector on surface code in preparation for
re-write. 2006-07-03.
- Add debugging dump code to HwTSLibTrimLoop3d object.
2006-07-02.
- Fix the compile on older versions of SMLib. 2006-06-29.
- SAT: Rewrite the sphere object to have the proper
parameterization info, if that is available. 2006-06-28.
- SAT: Add the mysterious bool & six double field found in
late ACIS releases to the wire entity type. 2006-06-28.
- SAT: Look for situations where the end parameter value of
bounds of a curve is less than the start knot value, and
reverse and negate their parameter bounds. 2006-06-28.
- Parasolid, STEP: Refactor a couple more locations which can
use the new AddId. 2006-06-28.
- SAT: Factor out a new generic AddId function, which takes a
HwAbstractIdentifier pointer and applies it to an
HwNlibObject, either extending the object's existing ID
property with another owner, or creating a new ID property
if the HwNlibObject does not already have one. 2006-06-28.
- Don't endl after every output to an ostream. 2006-06-26.
- Version number patches for older POPLib. 2006-06-23.
- openNURBS: Process B-spline weights through the core
function which normalize them if they go out of range.
2006-06-22.
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Set version numbers for next development
cycle. 2006-06-22.
| Changes for IGES 1.5.9/VDAFS 1.4.3/STEP 1.2.9/SAT 1.1.4/OpenNurbs 1.1.4/Parasolid 0.5.6/DATAKIT-CATIA 0.5.7/DATAKIT-CATIA5 0.5.6/DATAKIT-UG 0.4.6 |
|
- Fix a double-deletion in the TSLib assembly surface output
code. 2006-06-21.
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Change version numbers for release.
2006-06-21.
- openNURBS: If a face cannot be processed, note the fact and
continue rather than shutting down the entire B-rep import
process. 2006-06-20.
- Add TSNLib to the list of names. 2006-06-16.
- Remove the ifdef POPLIB then define HW_IW_TESS_AVAIL, as
POPLIB wasn't defined when we needed it anyway. 2006-06-16.
- Changes needed to make HWLibs properly compatiable with
TSNLib. 2006-06-16.
- Refactor build system a bit, and add tsnlib type.
2006-06-16.
- For surface-surface intersections, smarten up the domain a
pinch and do not allow the margins on extended offset
surfaces to redefine points so much. 2006-06-15.
- For SMLib surface-surface intersection, enable out of
bounds calculations for B-spline surfaces and autoamtically
extend offset surfaces. 2006-06-14.
- Add second version of OutputPolygon callback for new
versions of SMLib. Cleverly, I'm pretty sure this change
will work on all geometry engines our code is compatiable
with without any #ifs! 2006-06-14.
- Another intersection test. 2006-06-13.
- Use given tolerance for the IwCurve::IsClosed test, rather
than letting it generate a tolerance of its own, since it
sometimes generates ludicrously tight tolerances.
2006-06-13.
- Work around a SOLIDS++ bug which messes up
IwBSplineCurve::JoinWith on very small curves. 2006-06-13.
- Keep track of whether or not the offset surface was useful
for dropping points, and only use it if it is actually
useful. 2006-06-10.
- Make the N-point charted make intersection end curve
routine the primary one even in the cases when N=2. Make
the old two-point routine the backup in case the N-point
routine fails. 2006-06-09.
- Add debugging code to construct and dump HWO version of any
attempted intersection curves -- this allows us to test the
intersection AFTER the surfaces involved have been
converted to NURBS. 2006-06-08.
- Fix HwIntersectionCurveSMS version to compile again.
2006-06-06.
- Only create the expandable offset surface (during
intersection curve creation) if one of the points does not
project to the basic surface (and therefore we can try
expanding the surface). 2006-06-06.
- Patch memory leak introduced by the previous refactoring.
2006-06-06.
- Create new (internal) HwIntersectionSurface class, and
refactor the higher level surrface-surface intersection
curve code to use it. The functionality should be exactly
the same, this is just a refactoring prior to a rewrite.
2006-06-06.
- Special case sphere blend support optimization. 2006-06-03.
- Refactor the existing blend torus support code a bit, and
add a somewhat fancy blend degenerate torus class.
2006-06-03.
- Refactor blend support surface code, make plane special
case work if the base surface is a plane, not just the top
surface (as previous). 2006-06-02.
- Add "degenerate torus" to GetTypeString command, and
reposition the blend support surface type reporting to come
before the special case code rather than after it.
2006-06-01.
- Cleaned up debugging surface type info dump. 2006-06-01.
- Add quick debugging stuff, to be cleaned up on Windows box.
2006-06-01.
- Preliminary blend support torus implementation. 2006-06-01.
- Get the proper number of samples for a cylinder support
surface, so that it works the same way cylinders did
before. 2006-06-01.
- Try adding analytic cylinder blend supports. 2006-05-31.
- Fix the last blend surface added so it is a surface and not
a trimmed surface. 2006-05-31.
- Refactor the HwNlibSupportPlane class so that the
global/local support it has are now in a
HwNlibSupportSystemSurface class so it can be used by
further analytic classes. 2006-05-31.
- Experimental change to see if we can make blend surfaces on
planes more efficient. 2006-05-31.
- Parasolid: Add some basic heartbeats to the Nlib to TSLib
conversion code, and hook them up from the Parasolid
translator. 2006-05-30.
- Add a convenient hook for outputing debugging info during
blend surface construction. 2006-05-26.
- Refine edge intersection not found failure to have a
regular error on the t = 0.0 case (which is at least
plausible) and a SER assert otherwise (which seems to
indicate a major programming problem). 2006-05-25.
- New routine to handle end curves (of intersections) if they
have more than two points. 2006-05-25.
- SAT: Add the parameterized torus normal invert call back
in. 2006-05-23.
- Duplicate the last case for the SMS version. 2006-05-22.
- Change the IW intersection code to allow intersections with
bad internal points, even if the skip factor is 1.
2006-05-22.
- Define a new HwNlibTorus function, SetSelectOuterFlag,
which looks at a list of vertices to try to determine
whether or not we're interested in the inner or outer
portion of a degenerate torus. Then do some magic in the
B-rep code to automatically try to use this function if it
is needed. 2006-05-22.
- When looping on k, increment k, not i. 2006-05-20.
- Fix another stupid fatal mistake in the Nlib import HWO
code. 2006-05-20.
- Fix HwNlibIO.cpp's HWO code so that it doesn't delete the
trimmed surface before returning it! 2006-05-20.
- Buggy code to convert a trimmed surface with trimming loops
into (tslib-processed) surface with curves. 2006-05-20.
- Correct a major error in the HwNlibTabulatedCylinder "bind
infinite" code, which was only correct if the direction the
curve was extruded was of length 1. 2006-05-18.
- SAT: Try to undo one of the last SAT changes to see how
that affects the SAT files. 2006-05-15.
- Clean out an ASCII zero that snuck in somehow. 2006-05-14.
- SolidWorks: Add an HwStdSER on the license key. 2006-05-12.
- SAT: Rewrite SAT torus code in an attempt to support Acis
UV parameterization. 2006-05-11.
- Add _CRT_SECURE_NO_DEPRECATE to make the latest Microsoft
compilers happy. 2006-05-09.
- Bring SMLib version in line with the recent changes to the
IW version to plug memory leaks. 2006-05-09.
- Rearrange the HwNlibAbstractSolid::MakeTrimmedSurfaces
function a bit so that it can take an optional logger
parameter, and use that to provide feedback if there are
problems converting an HwNlibBrep to a collection of
trimmed surfaces. 2006-05-09.
- Partial patch for problem face notification. 2006-05-09.
- Switch MakeAndAddIntersectionEndCurve to take an
HwStdAutoPtr of an IwBSplineCurve, and then switch
IntersectSurfacesToGetCurveIW to use an auto ptr instead of
IwObjDelete. 2006-05-08.
- Plug memory leak when an intersection curve was created but
then rejected as incorrect. 2006-05-08.
- Delete offset surfaces constructed for intersection curve
math. 2006-05-08.
- Fix FindFirstAndLastGood so it correctly signals an error
if there are no good points at all! 2006-05-08.
- If a chart point in the middle of the intersection was not
dropped successfully to both surfaces (at least in the case
I'm looking at, this was a problem with point dropping, not
with the actual data), and there are plenty of chart
points, skip the troublemaker and go on to the next chart
point. 2006-05-07.
- Add debugging code to dump only the points in the
intersection chart which did not drop properly to both
surfaces. 2006-05-07.
- Add eval derivative function to HwNlibTorus. 2006-05-06.
- Add a few trivial HwNlibCone functions, and use them to
figure out which half of the cone to take when cone is a
blend support surface. 2006-05-06.
- Add (turned off) debugging output code for blend support
surface offset failures. 2006-05-06.
- Create new version of HwNlibSurface virtual function
BoundInfinite which takes a series of vertices (as POINTs)
as well as a bounding box. (By default it simply forwards
to old version without the vertices.) Change
HwNlibSolidComponent::BindInfinite to use this version, and
implement the new function for HwNlibCone, to help figure
out which side of the cone apex we are interested in.
2006-05-05.
- Previously 80-column files shorter than 1K were always
assumed to have newlines, because we couldn't tell whether
or not the full 997 characters requested in the newline
test were read in or not. Now add a check for end-of-file
in there, so if the entire file has been read and no
newlines found, assume there are no newlines in the file.
2006-05-04.
- Remove #ifdef IW_LIBS which was actually wrong now that we
have working SMLib point based surface intersections.
2006-05-04.
- With the SMLib version of the PointBasedSurfaceIntersection
calling routine, adjust the tolerance based on the max
distance from the points to the surfaces, IF that distance
is greater than the tolerance. 2006-05-04.
- IGES: Put the newlines back in after every line written to
the file. 2006-05-04.
- IGES, VDAFS: Fix IGES and VDAFS read protocol for new input
path -- instead of calling ReadLine and then checking for
EOF, now we need to check for EOF and then ReadLine. We
always validate the line anyway, so that should handle
partial lines nicely. Change IGES reader and writer allow
overriding the input source. 2006-05-04.
- IGES, VDAFS: Lots of minor changes to enable input overvide
for IGES and VDAFS. 2006-05-03.
- IGES, VDAFS: Change HwLowLevelAscii80Reader to work from a
(improved) HwLowLevelAsciiInput object; with the related
changes needed for IGES and VDAFS. 2006-05-02.
- Fix some trivial smart low-level input bugs. 2006-05-02.
- Create new interface for HwLowLevelAsciiInput, and start
implementing HwSmarterLowLevelAsciiInput to easily adopt an
old-fashioned, stupid HwLowLevelAsciiInput-derived class to
a flashy smart one, including GetString, Rewind, and
PutBackChar functions. 2006-05-02.
- Tweak the #ifdefs for the new PointBasedSurfaceIntersection
function(s). 2006-05-01.
- Changes to use the new 3D PointBasedSurfaceIntersection
routine. 2006-05-01.
- Only SetAllowExtension on the offset surfaces for
intersection if Nlib is available for surface extension.
2006-04-30.
- By default, use error callbacks for IW_LIBS translators.
2006-04-29.
- At least try the IW intersection routine in the POPLib
version. 2006-04-29.
- Don't try to expand a surface unless Nlib is available.
2006-04-29.
- Undo the previous two changes, going back to the old way of
handling the surfaces for surface-surface intersection, as
the new way introduced bugs without introducing any of the
hoped-for speed up. (Note that a completely rewritten version
of this patch is brought in a month later.) 2006-04-29.
- Add new HwPossiblyExtendedIwSurface class, and rewrite the
surface-surface intersection code in terms of it. The goal
here is to not create an extensible offset surface to wrap
the actual surface we are interested in, unless the
extension is needed. 2006-04-29.
- Fix IntersectSurfacesToGetCurveIW so it can be called with
either normal surfaces or resizable offset surfaces (or
both). 2006-04-29.
- Correctly flag the IW blend creation method as needed Nlib.
2006-04-29.
- Change the version number less than which we delete bspline
curves on edgeuses (rather than assuming they will be
properly deleted on their own, as happens in later releases
of SOLIDS++) from 800061505 to 800060000. This compensates
for the change in the SOLIDS++ version numbering, perhaps
at the price of letting hypothetical releases from early
2005 have a memory leak. 2006-04-28.
- Tweak defines to work with latest POPLib. 2006-04-28.
- Elaboration of "polygon code present" #ifdefs. 2006-04-28.
- Because we've had repeated problems with
PointBasedSurfaceIntersection not returning the entire
curve desired, check to make sure the end point of the
returned curve matches the end point specified in the
intersection chart. (If not, it will presumably fall back
to the older, slower method of intersecting, which works
nicely for many of these cases.) 2006-04-28.
- CATIA5: Set flag to convert analytics into surfaces of
revolution. 2006-04-28.
- DATAKIT: When making a face object, make sure we have
actually created a valid surface for it. 2006-04-27.
- CATIA5: Change call to catiav5r_ActivateTopologySettings to
add the new parameter to it. 2006-04-27.
- Parasolid: Fix the parameterization on swept surfaces -- we
were getting the reciprocal of the proper parameterization
previously. 2006-04-26.
- When dealing with a two-point chart intersection curve of
less than 10 time tolerance in length, short-circuit the
entire intersection process and just return a straight line
between those two points. 2006-04-26.
- IGES: Allow degenerate tori, even though they are illegal
in IGES files. Assume that they are intended to use the
(STEP flag) "select outer". 2006-04-26.
- STEP: Add low-level output target override (via export
options) to STEP. 2006-04-25.
- STEP: Support input_source option for STEP import.
2006-04-25.
- Fixed previous patch so it works under Linux. 2006-04-24.
- When you transform a blend surface, transform its spine as
well, and scale the offsets according to the scale of the
transform. 2006-04-24.
- Remove ASCII 0s that have crept into the source code.
2006-04-24.
- Parasolid: New code to dump color attribute information in
a file. 2006-04-21.
- Add rule to read HwNlibChartedCurves. 2006-04-20.
- If creating a closed blend rail curve and there is a chart
available, make the curve direction match the chart
direction. 2006-04-19.
- Parasolid: Fix carried away cut-and-paste which caused a
crash in the new blend bound code. 2006-04-19.
- Actually reverse a charted curve's base curve when
requested, instead of just reversing the chart. 2006-04-19.
- Parasolid: Implemented charted curves, which are normal
curves with a 3D point chart which can help indicate which
direction the curve should really go, and use them on
Parasolid blend bound curves. 2006-04-19.
- Parasolid: Refactor the intersection curve chart reading
code. 2006-04-18.
- Make the 3D tolerance requirement for deciding an ellipse
is meant to be a commplete 360 degree ellipse (rather than
a very very very short ellipse) tighter -- now 1e-9 rather
than 1e-6. 2006-04-17.
- Add a simple mechanism to handle infinite straight lines as
blend support curves. 2006-04-14.
- At Gary's suggestion, use B-rep tolerance rather than
point-dropped tolerance to determine the distance between
the 3D trimming curve and the surface. 2006-04-14.
- Double the number of samples sought for the "fancy" blend
sampling method. 2006-04-11.
- Added debugging code to aid in debugging failing trimmed
curves. 2006-04-11.
- SAT: Tweak to the SAT loop definition to handle some
undocumented post-version-10 stuff we hadn't seen before.
2006-04-10.
- Don't go looking for additional parameter values to merge
in past the end of the additional parameter values array.
(And initialize to pointers to 0 just in case they are
actually getting deleted without being initialized later.)
2006-04-09.
- IGES: Add CADLook to the list of IGES preprocessors which
require the p_face_orientation_is_surface_only to be false.
2006-04-06.
- Fix up the "simple" version of the blend sample parameter
value generator. 2006-04-05.
- #ifdef wrappers for use on SMLib. 2006-04-05.
- STEP: Recognize microns as a valid unit type. 2006-04-05.
- Alternate routine for blend parameter sample values
2006-03-30.
- Add CanOnlyEvaluateInParameterRange functions to the
HwNlibCurve and HwNlibSurface classes, so you can determine
if the parameter range for an evaluation needs to be bound
to the stated parameter range of a curve/surface or not.
(So, for instance, on a circle, any parameter value
whatsoever will yield a valid point when evaluated.)
2006-03-28.
- Add some debugging code to the trimmed curve code.
2006-03-28.
- Add filter which makes the tolerance adjustment code less
generous if we think the loop is an inner loop (since in
that case the outer loop has already been processed, and we
don't want to wildly change the tolerance anymore).
2006-03-28.
- If we've got fewer sample parameters than the suggested
number for this blend, subdivide the parameters until we
have enough samples. 2006-03-27.
- Now that we're doing all the sample parameter generation
starting from the spine curve's knot vector, go ahead and
use the knot vector of the original curve rather than
working from a copy. 2006-03-27.
- Add the logic to allow going around closed spines and
trimming in the parameter value space rather than in the
curve. 2006-03-27.
- Instead of dampening the curve's knots and then extracting
the knots from the resulting curve, start with the knot
vector and directly dampen it, which is faster and more
flexible. 2006-03-27.
- Add version of the interpolate that takes parameter values
for the points, and use it for blend rail curves.
2006-03-27.
- Back out the patch which disallowed very large tolerance
increases because of loop distance from surface -- it
seemed to break a surprisingly large number of files.
2006-03-27.
- Add patch from Gary which tries to handle the case where
we've got a closed surface with incorrect orientation, with
two closed loops bounding it. 2006-03-27.
- Use Gary's suggestion to use the spine knot values as the
sample parameters. 2006-03-26.
- Make it a triffle clearer what the angle tolerance is.
2006-03-26.
- Add angle tolerance to intersection. 2006-03-26.
- Turn off point-based intersection on SMLib for now.
2006-03-26.
- Make the tolerance gap from the last patch 100000 instead
of 1000, as that was breaking things left and right.
2006-03-24.
- If the maximum distance from a loop to its surface is over
1000x 3D tolerance, reject it, no matter how big the loop
is. (Previously it only checked against the loop size, but
in this case the bug in the data which created the big gap
between loop and surface also created a very long curve in
the loop.) 2006-03-23.
| Changes for IGES 1.5.8/VDAFS 1.4.2/STEP 1.2.8/SAT 1.1.3/OpenNurbs 1.1.3/Parasolid 0.5.5/DATAKIT-CATIA 0.5.6/DATAKIT-CATIA5 0.5.5/DATAKIT-UG 0.4.5 |
|
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for release.
2006-03-22.
- CATIA5: Add some suggestions from DATAKIT. 2006-03-22.
- Turn off (using a new compile-time switch) the facility to
cache created blend surfaces, as it wasn't properly
accounting for transformations. 2006-03-22.
- Make the units conversion factor code a little bit more
bullet-proof. 2006-03-21.
- Quick patch to allow a STEP file without units to work --
basically, if asked for a unit conversion factor, always
return 1.0 if the two units are the same, even if the
actual unit value is "no units specified". 2006-03-21.
- Patch together different StartAssembly and EndAssembly.
2006-03-20.
- Add StartAssembly and EndAssembly to TSLib receptacle
interface. 2006-03-20.
- Add StartAssembly and EndAssembly to the Nlib import
interface. 2006-03-20.
- Start and End Assembly functions added to assembly
interface. 2006-03-20.
- Fix the intersection curve end curve bit so that it
actually compares the end of each curve to the appropriate
point on the chart. 2006-03-20.
- Only try to extend a given surface once. 2006-03-20.
- Remove debugging tests in the coordinate system code, which
I think is pretty firmly established as working by now, and
were only serving to cause stupid problems because of
narrow tolerances. 2006-03-18.
- Make sure all the UV points we send down to the IW n-point
surface-surface intersection routine are valid, because if
one is not, bad things will happen. 2006-03-15.
- Change CreateByJoining call to be compatiable with both
SMLib and SOLIDS++. 2006-03-14.
- Try to add the ends to IW intersection curves. Probably
doesn't work right, but we're overdue to check in.
2006-03-10.
- For IW surface-surface intersection, only work on the part
of the intersection that is solid. (We'll need to add back
in the ends later.) 2006-03-08.
- Move HwIntersectionChart creation back, so its now shared
by both intersection routines. (but not actually used by
the IW one -- yet!) 2006-03-05.
- Extending surfaces now part of the HW curve intersection
code. 2006-03-05.
- Change chart class to take offset surfaces. 2006-03-04.
- New SIP constructor for extending the surfaces. 2006-03-04.
- Refactor the two intersection curve routines to take
extendable offset surfaces. 2006-03-04.
- Refactor the intersection curve code a bit more. All in
prep for bigger changes. 2006-03-03.
- More refactoring, this time splitting up the FindUV
function. 2006-03-03.
- Rearrange the debugging code so that it's shared between
the IW and HW curve intersections. 2006-03-03.
- Useful debugging dump added (turned off) to help track down
intersection curve crashes. 2006-03-03.
- Work with the new PointBasedSurfaceIntersection routine
interface. 2006-03-02.
- Tweaks to the HwBlendSkeleton class so it can smoothly
handle the case where the spine curve is closed, the
start/end are both good spots for the blend, but there are
areas in the middle where the blend does not exist. We do
this by changing the logical domain of the spine curve so
that it starts in the middle. 2006-03-02.
- Added test of new closed spine code. 2006-03-02.
- If one or two blend sections cannot be created, just skip
them and create the blend anyway. 2006-03-01.
- Add HW_NO_DEBUG shields around the debugging output code,
plus a new section of it designed to help report
intersection bugs to IntegrityWare. 2006-03-01.
- Try to make sure we sample the desired chart points without
overloading the IW N-point surface-surface intersection
routine (which has a hard 20-point limit). 2006-02-28.
- Parasolid: Add needed "static". 2006-02-28.
- SOLIDS_PLUSPLUS wrapper around the call to
IntersectSurfacesToGetCurveIW, because it's failing a lot
of the tests. 2006-02-28.
- Make SMLib build work with the new HwNlibBlendSurface
interface. 2006-02-28.
- Fix glitch in reading the new HwNlibBlendSurface
serialized. 2006-02-28.
- Add face test from bearing.sat model -- iso rails meet at
point, but UV curves do not. 2006-02-28.
- SAT: Add support (possibly still buggy) for SAT
curve-entity blend support. 2006-02-27.
- Parasolid: Tweak the difficulty estimating code to work
with the new HwNlibBlendSurface setup. 2006-02-27.
- Parasolid: Remove the cliff edge blend flag from the
HwNlibBlendSurface object. Cliff-edge status is now
represented by the type of supports for the blend.
2006-02-27.
- Fix HwNlibBlendSupportCurve constructor so that it releases
the auto_ptr it is passed. 2006-02-27.
- Parasolid: Add full curve support, things might actually
work now, though they have not been tested yet. 2006-02-27.
- Parasolid, SAT: Checked in in-progress -- a complete
overhaul of HwNlibBlendSurface to allow curve (and
eventually point) supports instead of just surfaces.
2006-02-27.
- SAT: Enable ellipse spines. 2006-02-25.
- SAT: First stab at including the spine for blend surfaces.
2006-02-25.
- Add note to fix later to source code! 2006-02-25.
- Cosmetic change -- move the "gap from" notice higher in the
connector-creating code. 2006-02-25.
- Add the last line accidentally deleted from the SOLIDS++
version of our PointBasedSurfaceIntersection call.
2006-02-24.
- Initialize pointer passed to
IwBSplineCurve::CreateLineSegment to 0, so SMLib doesn't
complain about passing a non-null pointer. (Sigh.)
2006-02-24.
- Add #ifdef wrapper to handle the fact SMLib
PointBasedSurfaceIntersect takes a different number of
arguments than the SOLIDS++ version. 2006-02-24.
- Add actual ZOF file type to the file type set, to carefully
distingush between ZOF and IWP files. 2006-02-24.
- Change IWP reading function for SOLIDS++ r2.3. 2006-02-23.
- The IW N-point intersection routine can't handle more than
20 points, so if you have more, just use the old HW
algorithm. 2006-02-23.
- Add debugging to the IW-based N-point surface-surface
intersection, and set it up so that version is tried first,
followed by the old HW-based version of the same function.
2006-02-23.
- STEP: Give each B-rep its own HwNlibSolidComponents object.
Previously each shape representation got its own -- this
caused massive problems when there were a large number of
B-reps in one shape representation AND each of them got
transformed. Now each shape rep and each B-rep gets its
own components. 2006-02-22.
- Change #ifdef POPLIB to #if defined(POPLIB) ||
defined(SOLIDS_PLUSPLUS) throughout the code. 2006-02-21.
- Changes needed to accomodate the face that SOLIDS++ now
uses SOLIDS_PLUSPLUS instead of the old SMLIB macro, and
also that it doesn't have the IwSurfaceSurfaceFS class
anymore. 2006-02-21.
- Initialize p to a meaningless value so the compiler doesn't
complain that it isn't initialized. 2006-02-21.
- Fix IWP import so it works with null curves, null surfaces,
etc. 2006-02-17.
- Provide a workaround for blend surface orientation when the
Reverse function is not available because there is no Nlib.
2006-02-17.
- VDAFS: Rewrite polynomial evaluation code to use low-level
Nlib routines. 2006-02-16.
- Add IWP import decoding for face number attribute.
2006-02-16.
- VDAFS: Break up CONS parameter space curves where they have
C0 discontinuities. 2006-02-14.
- Add new static function
HwNlibCompositeCurve::AbsorbCurvesIntoSingle which consumes
its HwNlibCurve * inputs and returns an HwNlibCurve * which
represents the entire thing. (Either a composite curve
containing the original inputs, or if there is only one
curve, just the original input curve returned back out.)
2006-02-14.
- Parasolid: Modify HwNlibParasolidProcessor::GetPointOnCurve
to work on trimmed curves using the rather obvious choice
of getting the first trimming point. 2006-02-14.
- VDAFS: Don't fail to create an entire GROUP just because
some of the entities in it cannot be found/constructed.
2006-02-14.
- Parasolid: Add new HwNlibInternalSurfaceNumberProperty
attribute, and use it to tag Parasolid blend surfaces with
their Parasolid index, so we can then stash blend surfaces
which have been converted to IwBSplineSurfaces in a map and
use the already built one rather than building a fresh one
if we try to build the same surface (as determined by the
HwNlibInternalSurfaceNumberProperty attribute) again.
2006-02-10.
- Check the "was spine reversed" flag and swap the blend
surface V parameterization to match. 2006-02-10.
- Adjust our new blend surface code to make the U direction
of the surface match the direction of the spine rather than
that of the section curves. 2006-02-10.
- Parasolid: Apparently the orientation flip only affects
doubly inverted offset surfaces used as blend supports. So
this patch rewrites the last one to test blend supports
only, and flip their offset distance if they are doubly
inverted offset surfaces. 2006-02-09.
- Parasolid: Implement a crazy rule -- if an offset surface
has negative sense and its base surface has negative sense,
ignore the negative sense flag on the offset surface.
Sounds odd, but we were consistently detecting the
orientations of such surfaces (and none others, except
blends we created ourselves) as being wrong. 2006-02-09.
- Parasolid: New debugging code (turned off, of course) to
add surface index "names" to surfaces. 2006-02-09.
- Parasolid: A lot of changes to make this a tool for
reporting information about surfaces in the model as well
as the surfaces of faces and blends (both of which it did
before). 2006-02-09.
- Upgrade the code to determine the proper offset to use to
use a sequence of doubles as the starting point for the
drops. This should spot for actual area of interest along
the spine curve for most reasonable setups. 2006-02-07.
- Spot tests for the HwDoubleSequence function. 2006-02-07.
- Allow straight line curves on blend -- since we can drop
the 3D trimming points onto the blend, we can generate our
version of the UV points for the curve. 2006-02-06.
- SAT: Skip any carriage returns or linefeeds at the begining
of the string portion of a string object. 2006-02-06.
- CATIA: Check and ensure that entities for which
catiav4r_IsEntityVisible is false have the blanked
attribute (if they are created). 2006-02-06.
- UG: Added no datakit license available for UG translator
2006-02-06.
- If we're creating a reparameterized surface and we don't
care about parameterization, just skip the whole
reparmeterization bit. Also, if we don't care about the
parameterization of an offset surface, don't worry about
the parameterization of its base surface. 2006-02-05.
- Add debugging code to dump the info when we cannot figure
out the direction of offset to use for a surface. Turned
off, of course. 2006-02-05.
- Special case for curves of offset surfaces, since offset
surfaces will preserve the underlying parameterization when
we convert them to IwOffsetSurfaces. 2006-02-04.
- Quick refactoring to prep for curve on surface
improvements. 2006-02-04.
- fixed spelling error in reparameterized surface name
string. 2006-02-04.
- Parasolid: get proper parameterization for swept surface
entity. 2006-02-04.
- Curve lift debugging code added, turned off. 2006-02-04.
- When constructing rail curves, check to make sure we've got
a new point before adding it to the list of points to
interpolate. This should handle various edges cases
gracefully. In addition, check to make sure we've got
enough points, and skip curve creation of what would be
singular curves. 2006-02-03.
- Fixed Test3dTrimmedRailCurveStrict so that it actually
works! 2006-02-03.
- New stricter test designed to catch rail curves which can
not be created by the new, improved method for creating
them. 2006-02-03.
- Additional debugging code (turned off), warning if the
preferred rail creation code does not work successfully.
2006-02-03.
- When we detect an impossible-to-fix condition in the
IW_TRANSLATORS_LIBERAL section of FixTrimLoopOrder, return
an error rather than just reporting an error and then
trying to do the impossible. 2006-02-02.
- Tweaks which in theory, should make the trial (and
currently turned off by default) new intersection curve
code work better at extending surfaces, and in practice
don't seem to make any difference whatsoever. 2006-02-02.
- Sketch out new intersection curve code. Fix intersection
curve (old code) off of one surface and across seam on the
other. 2006-02-01.
- Parasolid: Tweak the version tests again. 2006-02-01.
- Parasolid: Try a slightly smarter test -- one that
recognizes that versions where the kernel version number
does not match the schema modeler version number seem to
not have embedded schema info. 2006-02-01.
- SolidWorks: Updated for new HwParasolidFile::Read
parameters. 2006-02-01.
- Parasolid: Add a message logger parameter to
HwParasolidFile::Read, so we can log the kernel and schema
versions used in the file. 2006-02-01.
- Parasolid: Change the schema detection code for yet another
Parasolid file. 2006-01-31.
- STEP: In the face creation loop, move from using a
countdown to using a heartbeat. 2006-01-31.
- STEP: Improve tracking code in inner loop of object
creation -- a heartbeat for each product we try to create,
and a countdown of the faces in each shell. 2006-01-30.
- We were returning IW_SUCCESS when we should have been
returning the estimated number of samples to use. Needless
to say, that was bad. 2006-01-30.
- Put an upper limit of 600 on the estimated samples needed
for blend code. 2006-01-30.
- Trimmed curve on blend test that yields 1000+ samples using
current code. 2006-01-30.
- Put an upper limit on the number of points which we try to
interpolate, as the algorithm apparently cannot handle
large numbers of sample points. We've arbitrarily chosen
1000 as the limit for now, but this may get reduced in the
future as we see more test cases. 2006-01-30.
- Clean up needed to get first working version of the
translation program. 2006-01-30.
- First stab at modifying our existing solidworks code to
create a simple system to translator solidworks files to
parasolid files. 2006-01-30.
- CATIA5: Add first stab at tracking. 2006-01-30.
- SAT: Provide tracking for the initial file reading stage of
SAT imports. 2006-01-29.
- New test to detect heartbeats during processing.
2006-01-29.
- Fix parameters to knots function so that it can handle
parameter ranges that do not go from 0.0 to 1.0.
2006-01-27.
- Sometimes blends come down to a single point in the middle.
We cannot allow this, so this code detects when a section
has been requrested that will be too small, and substutes
one which will have its sample points just a bit above
tolerance apart. 2006-01-27.
- Try to estimate the complexity of the support curves /
support surfaces / intersection surfaces and use that to
inform how many sample points we take when intersecting or
blending. Also, always take polynomial cross-sections for
blends. 2006-01-27.
- Refine the last test so that we only accept points further
from the (offset) surface if the land in the middle of the
surface, not at the edges. This serves as a proxy for
whether the point was "on" the surface, relative to the
surface's normal. 2006-01-27.
- Add radius to HwBlendSupportSurface class, to allow a more
generous yet still sensible tolerance on the drop point
operation. 2006-01-26.
- Reject possible edge points if they are more than
desired_span_length away from the line between the two
known points. 2006-01-26.
- Version 16 schemas. 2006-01-26.
- Try to limit intersection curves to approximately 100
points. 2006-01-25.
- Fix IwExtent2d constructor to work with SOLIDS++.
2006-01-25.
- Fixed bug introduced in the reogranization to allow both
types of blends to be attempt -- now the HW blend should
work again. 2006-01-25.
- Allow user (not end user, at the moment) control over which
skinning algorithm to use for blends. Defaults to NMTLib
then TSLib Math if NMTLib is available, or just TSLib Math
if it is not. 2006-01-25.
- Move around the #ifdefs so that the new non-SMLib blend
code can actually be used if you do not have SMLib!
2006-01-25.
- First stab at non-SMLib fillet support for Parasolid. This
includes modifying HwBlendSkeleton::GetSection so it can
return polynomial curves if requested, and fixing
SkinCompatiableCurves to work on polynomial curves.
2006-01-25.
- Add const to some string arguments for Serialize and
UnSerialize, which makes them work when called with a char
*. 2006-01-25.
- New code to serialize CURVEs. 2006-01-24.
- Serialize function to support Nlib SURFACE export (as a
HwNlibSURFACE object). 2006-01-24.
- Switch error message from "requires SMLib" to "requires
SMLib or SOLIDS++". 2006-01-24.
- Parasolid: Send heartbeats after each face is created in
the Parasolid core. 2006-01-24.
- Parasolid, SolidWorks: Add tracker argument to the
HwParasolidFile::Read command, and send it regular info
during the file node reading loop. 2006-01-24.
- Parasolid, SolidWorks: Change internal Parasolid and
SolidWorks interfaces to allow progress trackers to be sent
in. (Nothing is actually done with either yet.)
2006-01-24.
- When searching for the proper point to use on a blend
support curve (ie in the cliff-edge blend case), use the
solution point which is closest to the ideal circle (of the
blend radius) around the given spine point. This helps find
the best solution in the case where the support curve
intersections the of the spine curve point more than once.
2006-01-24.
- Rewrite HwTSLibTrimLoop2d::ReparameterizeUVSpace so that it
uses IwBSplineCurve::GetCanonical and ::SetCanonical rather
than ::GetControlPoint and ::SetControlPoint. 2006-01-23.
- Add test for HwTSLibTrimLoop2d::ReparameterizeUVSpace.
2006-01-23.
- Fix the rail construction code so it always looks at both
the start and end point, to handle the case where both rail
curves intersect at one end or the other. 2006-01-23.
- CATIA, CATIA5, IGES, Parasolid, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Change version numbers for start of next
development cycle. 2006-01-20.
| Changes for IGES 1.5.7/VDAFS 1.4.1/STEP 1.2.7/SAT 1.1.2/OpenNurbs 1.1.2/Parasolid 0.5.4/DATAKIT-CATIA 0.5.5/DATAKIT-CATIA5 0.5.4/DATAKIT-UG 0.4.4 |
|
- Updated version numbers for release. 2006/01/20.
- CATIA5: Don't free the curve or point until we are actually
done with it. 2006/01/19.
- CATIA5: Refactor the color code a bit, and use the new code
to add curve and point color. 2006/01/18.
- openNURBS: Name export added. 2006/01/16.
- DATAKIT: Fix the CATIA v4 color scale, which appears to
have changed someplace along the way. 2006/01/16.
- DATAKIT: Catia v5 face colors. 2006/01/16.
- CATIA: Turn the creation of blanked entities back on, if
the options to include blanked entities is set. 2006/01/14.
- SAT: Handle new blend surface interface. 2006/01/13.
- Parasolid: Code to handle infinite spine cases. 2006/01/13.
- Add "spine is infinite" member to blend surface, to handle
the infinite line case seen in a few Parasolid files.
2006/01/13.
- Use a tighter test to determine if a chart point really
lies on both surfaces in the intersection. (In essence,
check to see if the projected point is right on the edge of
the surface when the distance to the point is 5 times
greater than tolerance.) 2006/01/12.
- Don't allow new big_tolerance to get bigger than 100 times
tolerance. 2006/01/12.
- During intersection curve construction, make the tolerance
for determining whether or not a point drop was successful
one-tenth of the distance between the first two chart
points. (Previously it was 100 times base tolerance, but
in the case we were just looking at, that was longer than
the curve being calculated!) 2006/01/12.
- Reverse the logic on rail curve direction, so that it is
correct! 2006/01/11.
- Rewrite the code for creating blend rails to use the new
blend skeleton code. 2006/01/11.
- Move GetBlendPoints from private to public, making it easy
to make blend rails. 2006/01/11.
- Parasolid: Rewrite the code to find the best halfedge so
that it A) starts with the first halfedge and B) actually
skips halfedges with no curve. 2006/01/10.
- Parasolid: Change the processing of edges a tad.
Previously, if there were no vertices (ie a ring edge), we
tried to get a point from the 3D curve. But that doesn't
work if there is no 3D curve. Now it tries to create a 3D
curve from the fin, and if that works, uses the start point
of that curve as the vertex. 2006/01/10.
- Rearrange the code for handling surface-surface
intersection subdivision so it can gracefully handle the
case when neither surface support the span we wish to
subdivide. 2006/01/09.
- Instead of using the minimum length between chart points
(times .3) for the desired span length, use the average
length between chart points (times .3). This helps reduce
the negative effects of chart points which are very close
together. 2006/01/09.
- Remove all traces of the old add_non_intersecting_ends
argument. Now we always return the full intersection curve
specified by the chart. 2006/01/08.
- When looking for the edge where a surface ends in
surface-surface intersection, compare the distance between
the new edge point and the first point on both surfaces,
and if it smaller than one-tenth the desired span length,
simply replace the old point with thew new edge point.
2006/01/08.
- Reinstate the old code which checked the max distance the
given points were from each surface (that they could be
successfully projected to) and use two that for tolerance.
Set the desired span length to be .3 times the minimum gap
between points in the given chart, or the minimum gap once
the edge points have been added, whichever is lower.
|