Main page Products Overview Future Plans Changelog 1.7 Changelog
IGES VDAFS STEP
Compatible with: SMS's NLib SMS's SMLib IntegrityWare's SOLIDS++
Neat Stuff
Contact Info: HarmonyWare, Inc. PO Box 2717 Midland, MI 48641 colomon@ralf.org
|
Changes for HarmonyWare Release 1.7.11 |
|
- Go down to one definition of HwMakePoint. 2013-09-09.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Bump all translators to version 1.7.11 for
release. 2013-09-09.
- Borrow MakeSTEPCircle fix from 1.9. 2013-09-07.
- STEP: Add HW_STEP_EXPORT_COORDINATE_SYSTEMS define. 2013-09-06.
- Handle newer SMLib interface to IwSurface::Evaluate for
HwTSLibIdealPipeSurface. 2013-05-31.
- STEP: When replacing a surface with a plane, copy the original
surface's attributes to the plane. 2013-03-11.
- STEP: Make sure a header's file_name actually exists before
trying to read it. 2013-03-11.
- Add HwNlibCompositeCurve::IsEmpty. 2013-03-11.
- Allow evaluation of squashed cones. 2012-12-11.
- Rework CurveOnSurface code a bit. Add check to make sure the
ApproximateCurve method has not gotten out of control. Allow the
InterpolateCurve code to work on surfaces where you can Evaluate
points on the curve but nothing else. improved fallback conditions.
2012-11-14.
- Lack of success at GetEndPoints should not kill
HwNlib3DTrimmedCurve::GetMinMaxBox -- at worst we can usually find a
dumber approximation that works. 2012-11-14.
- Pull full HwNlibOperators.h from 1.9.10. 2012-11-14.
- STEP: Special case handling of an ellipse revolved in a surface
of revolution (basically illegal in STEP) to create a valid surface
which hopefully is the intended surface. 2012-11-06.
- DATAKIT: Take loop orientation into account when processing
loops. 2012-11-04.
- Add IwBrepData.h to the includes. 2012-10-05.
Changes for IGES 1.7.10/VDAFS 1.6.4/STEP 1.5.0/SAT 1.3.5/OpenNurbs 1.3.5/Parasolid 1.0.3/DATAKIT-CATIA 1.1.6/DATAKIT-CATIA5 1.1.6/DATAKIT-UG 1.1.6/DATAKIT-PRO/E 1.0.3/SolidWorks 1.0.3 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for release. 2012-09-18.
- openNURBS: Add HwTSLibOpenNurbsRead function which returns
meshes. 2012-09-18.
- DATAKIT: Add sphere patch and turn off no longer supported
SetProcessed method. 2012-09-18.
- DATAKIT: Pull in new V74 code from 1.9.9. 2012-09-18.
- Correct capitalization of filename. 2012-09-17.
- Pull 1.9.9 code for NMTLib Unicode compatibility into 1.7.9.
2012-09-17.
- Be more careful approximating min max boxes for trimmed closed
curves. 2012-08-13.
- Get proper attributes when converting from IwCompositeCurve.
2012-08-12.
- Parasolid: Tweaks needed to handle non-neutral binary files.
2012-07-18.
- DATAKIT, IGES: Rejigger includes so that we are not using
iwtopo_inline.h. 2012-07-06.
- More attempts to fix SOLIDS++ Unicode interfacing. 2012-07-01.
- Clean up "Unicode" support, tweak version numbers to switch it
on for certain NMTLib calls. 2012-07-01.
- IGES: Much improved handling of reading NMT B-reps written out
by the HWlibs 1.9.x branch. 2012-05-24.
- Put some sanity checks in place to prevent assertion failures
trying to recover from error conditions. 2012-05-24.
- VDAFS: Trap errors in ProcessGROUP; one item failing should not
lead to the entire GROUP failing! 2012-05-18.
- Change x.p_ascii.IsOkay to HwStdSER at a customer's request.
2012-05-14.
- Correct spelling error which had been in the code for thirteen
years or so. 2012-05-14.
- Clean up new defines a tad. 2012-05-08.
- STEP: Implement and start testing HwConvertSTEPStringToUtf32. 2012-05-04.
- First full implementation of ISO 8895 to Unicode character
translator function. 2012-05-03.
- Start conversion utility. 2012-05-03.
- Import ISO-8859 conversion mappings to the tool set. 2012-05-03.
- Differentiate between parts (B-reps) and (trimmed) surfaces in
polygon output code. 2012-04-25.
- Patch for TSLib assemblies turned on 2012-04-20.
- STEP: Add some special code for composite_curve_segment's
transition member, to handle a broken pre-processor. 2012-04-17.
- Rewrite the HwPolygonExportInterface::Start functions to return
a bool, allowing a return value of false to skip the b-rep (or face)
in question. 2012-04-16.
- More NLib Unicode fixes. 2012-04-06.
- Try fix for NLib Unicode change. 2012-04-06.
- SolidWorks: Try to allow reading read-only files. 2012-04-03.
- Move p_include_blanked to protected status. 2012-03-23.
- Don't go into "Trying to convert parameter space loop to model
space" if the parameter loop is off the surface's parameter space and
the surface cannot be UV extended somehow. 2012-02-16.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for next maintenance
cycle. 2012-02-15.
Changes for IGES 1.7.9/VDAFS 1.6.3/STEP 1.4.9/SAT 1.3.4/OpenNurbs 1.3.4/Parasolid 1.0.2/DATAKIT-CATIA 1.1.5/DATAKIT-CATIA5 1.1.5/DATAKIT-UG 1.1.5/DATAKIT-PRO/E 1.0.2/SolidWorks 1.0.2 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version number for release. 2012-02-14.
- New warning-silencing pragma. 2012-02-14.
- Try to accommodate extra parameters added to IwCurve::Evaluate
and IwSurface::Evaluate in latest version of SMLib. 2012-02-07.
- Tweak new calls for IW_BORLAND compatiablity. 2012-02-03.
- DATAKIT: Hopefully this will fix the crash. 2012-01-31.
- DATAKIT: Add HwDtkConvert. 2012-01-30.
- DATAKIT: Handle points. 2012-01-30.
- DATAKIT, HwTest: Merge in V72 branch. 2012-01-26.
- Reverse the changes needed to get GetCharacterElementsAddress to
return TCHAR, as SMLib has abandoned that. 2012-01-25.
- IGES: Fix memory error found in 1.9.x branch. 2012-01-17.
- Provide a way to get at the HwStdString of a HwUnicodeToAscii
2012-01-11.
- Remove all inlines from HwFilename, because constructing a
wstring in one context and deleting it in another is Very Bad News on
Windows. Also improved Unicode handling from PrintableString.
2012-01-11.
- Another Unicode fix. 2012-01-10.
- Implement simple HwUnicodeToAscii tool and try to use it to get
IwAttribute support working in new SMLib Unicode version. 2012-01-10.
- HwAsciiToUnicode takes a char *, not a HwStdString. 2012-01-09.
- Fix preprocessor code for turning on Unicode return values in
the IwAttribute strings. 2012-01-09.
- In some configurations GetCharacterElementsAddress now returns a
wchar_t. Make that work. 2012-01-05.
- IGES: Add sensible default p_field_terminator and
p_record_terminator, in case the global section cannot be read at all.
2012-01-05.
- SAT: Top level WritePoint now writes vertex entity, which sorts
to the top with the bodies. 2011-12-30.
- SAT: Add ProcessVertex which handles vertices as top-level
entities. 2011-12-30.
- HwTest, openNURBS: Merge in OpenNURBS50 branch. 2011-12-27.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version number for next maintenance
cycle. 2011-12-26.
- DATAKIT: Wrap CreateSimpleOffset calls with defined(IW_LIBS).
2011-12-13.
Changes for IGES 1.7.8/VDAFS 1.6.2/STEP 1.4.8/SAT 1.3.3/OpenNurbs 1.3.3/Parasolid 1.0.1/DATAKIT-CATIA 1.1.4/DATAKIT-CATIA5 1.1.4/DATAKIT-UG 1.1.4/DATAKIT-PRO/E 1.0.1/SolidWorks 1.0.1 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version number for release. 2011-12-13.
- openNURBS: If a B-rep face is missing UV curves, skip it and
return the IW_ERR_EXPORT_HAS_ISSUES error when the export is complete.
2011-12-06.
- Tone down some of the errors in the FixUV code, so that they
become issues rather than show-stoppers. 2011-12-06.
- STEP: Don't do any transforming from the transforms in a
shape_representation. 2011-12-05.
- DATAKIT: Merge V71. 2011-11-29.
- Parasolid: Hack to handle escape characters in 'c' char type.
Doesn't do anything smart with them yet, just gets the file to parse
correctly. 2011-11-11.
- IGES: Don't crash if the string-specified units are garbage.
2011-11-05.
- Remove blanked attribute from component curves before merging
them into a composite curve. 2011-11-03.
- Copy attributes when making a reversed copy of a NURBS curve.
2011-11-01.
- Split the loop you just copied swapped rather than this loop.
2011-08-02.
- DATAKIT: Merge DATAKIT V70 integration branch.
2011-07-25.
- Watch for null pointers as empty strings. 2011-06-12.
- Move delete statement to avoid obscure state leaving a reference
to a deleted curve. 2011-06-10.
- Fix SOLIDS++ / SMLib discrepancy. 2011-06-03.
- STEP: Support weird units for STEP export as well. 2011-05-17.
- SAT: Add HwNlibExporterInterface::SetUnitsAndScale
interface and SAT-specific version. 2011-05-17.
- STEP: Workaround to handle reading HarmonyWare STEP files
written in other locales before we came up with the patch to always
use C locale for writing. Basically when a HarmonyWare file is
detected, it switches to a mode where (when reading doubles), commas
are counted as commas if they are followed by a space, but periods if
they are followed by anything else. 2011-05-15.
- Parasolid: Add HwParasolidDataMap::GetIntOrShort function to
provide a proper solution for the issue where some versions of
Parasolid use an Int and some a Short. 2011-05-06.
- Add argument to BuildLoops to control the number of points
created along the edge of a surface. 2011-05-04.
- Add a couple of additional Unicode shields, just in case.
2011-05-02.
- Tweaks to improve compilation under SOLIDS++ and Unicode.
2011-04-25.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for the next maintenance
cycle. 2011-04-25.
Changes for IGES 1.7.7/VDAFS 1.6.1/STEP 1.4.7/SAT 1.3.2/OpenNurbs 1.3.2/Parasolid 1.0.0/DATAKIT-CATIA 1.1.3/DATAKIT-CATIA5 1.1.3/DATAKIT-UG 1.1.3/DATAKIT-PRO/E 1.0.0/SolidWorks 1.0.0 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for maintenance release.
2011-04-25.
- Add libraries for V6 to the V5 build. 2011-04-22.
- CATIA5, DATAKIT: Quick hack to enable Catia V6 in the V5
translator. 2011-04-21.
- DATAKIT: V69 merged in. 2011-04-21.
- Improve DistanceChartToCurve for better results and tweak the
tolerance on it. 2011-04-08.
- SAT: Add dxid-attrib as an alias for DXID-attrib in the parser.
2011-03-10.
- Add working CanEvaluateDeriv and EvaluateDeriv for HwNlibEllipse
2011-03-04.
- Add an IwObjDelete wrapper to make sure deletion is reliable in
error paths, and then carefully deal with a different IwObjDelete
wrapper in an error path. 2011-03-01.
- Comment out suspicious call to delete. 2011-03-01.
- STEP: Port 1.9.x fix to use product id as the name if the
product name is empty. 2011-02-24.
- IGES, Parasolid, SolidWorks: Switch some lingering char const *
filename arguments to HwFilename const &filename. 2011-02-18.
- DATAKIT: Tweak things so it utiltslib will compile under IW and
Unicode. 2011-02-01.
- Trivial changes to get the SOLIDS++ Unicode build to work.
2011-02-01.
- DATAKIT: Merge in DATAKIT V68 branch. 2011-01-31.
- Port Unicode fix from 1.9.x. 2011-01-31.
- openNURBS: Properly handle mirroring rational curves.
2011-01-27.
- Add version number to 1.7.x branch too. 2011-01-26.
- VDAFS: Check for end-of-file condition if invalid line found
while searching for the next entity. 2011-01-23.
- Fix HwReverseSurfaceU so that it doesn't move the u knot range
when the min u knot is not 0. 2011-01-19.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for next maintenance
cycle. 2011-01-18.
Changes for IGES 1.7.6/VDAFS 1.6.0/STEP 1.4.6/SAT 1.3.1/OpenNurbs 1.3.1/Parasolid 0.7.3/DATAKIT-CATIA 1.1.2/DATAKIT-CATIA5 1.1.2/DATAKIT-UG 1.1.2/DATAKIT-PRO/E 0.6.2/SolidWorks 0.6.0 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for release. 2011-01-10.
- Fix longstanding SolveTwoVariables bug by adding an additional
check. 2011-01-04.
- Changes to eliminate warnings under certain configurations.
2011-01-04.
- DATAKIT: Port the blanked status patch back to 1.7.x.
2010-12-22.
- DATAKIT: Merge in DATAKIT V67 branch. 2010-12-02.
- STEP: It's possible for an entire list to be short-circuited by
$, so allow it. 2010-11-29.
- Bring up to current Unicode standard. 2010-11-25.
- Parasolid: Tweak a regular expression to accommodate a minor
irregularity in the latest schema files. 2010-11-24.
- Parasolid: Add more log messages. 2010-11-24.
- Add new schemas found from DATAKIT. 2010-11-24.
- Parasolid: Hack to work around tricky binary file word-size
issue. 2010-11-23.
- SAT: Port the TCOEDGE without pcurve patch back to 1.7.x.
2010-11-19.
- Missed initialized the p_raw_unicode_string variable in a key
HwFilename constructor. 2010-11-17.
- DATAKIT: Use new HwFilename::Unicode. 2010-11-17.
- Try to implement HwFilename::Unicode (which returns a wchar_t *
version of the string). 2010-11-17.
- SolidWorks: More const to the correct place. 2010-11-17.
- SolidWorks: Instead of having HwFilename::BString, create a
ConvertToBstring function in the SolidWorks translator and use that
instead. 2010-11-17.
- Try adding header to get BSTR. 2010-11-17.
- SolidWorks: Add HwFilename::BString and use it to replace uses
of SysAllocString in SolidWorks translator. 2010-11-17.
- Add HW_UNICODE wrappers around HwFilename::UnicodeString.
2010-11-17.
- Add second form of HwNlibPointLoop::AddPoint. 2010-10-29.
- Add / by float operator for POINT. 2010-10-29.
- Try again with the IwBrepData::ReadPartFromFile wrapper.
2010-10-12.
- Revise a couple of version-specific WriteToFile functions based
on input from a customer about an old version of IW. 2010-10-12.
- Update to UV loop fixing code. 2010-10-11.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for next development
cycle. 2010-10-09.
Changes for IGES 1.7.5/VDAFS 1.5.9/STEP 1.4.5/SAT 1.3.0/OpenNurbs 1.3.0/Parasolid 0.7.2/DATAKIT-CATIA 1.1.1/DATAKIT-CATIA5 1.1.1/DATAKIT-UG 1.1.1/DATAKIT-PRO/E 0.6.1/SolidWorks 0.5.9 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for release. 2010-10-05.
- IGES: Fix glitch with HwTSLibIgesWrite. 2010-09-30.
- Rearrange HwReadFromFile so that it works in the non-Unicode
SMLib case. 2010-09-30.
- IGES, SAT, STEP: Update some of the high level interface
functions to take HwFilename arguments instead of char * arguments.
Because HwFilename arguments automatically convert char *s to
HwFilenames, this shouldn't break any existing code. 2010-09-29.
- Replace uses of IwBrepData::ReadPartFromFile and
::WritePartToFile with HwReadPartFromFile and HwWritePartToFile.
2010-09-29.
- SolidWorks: Fix Sw_SER for Unicode. 2010-09-29.
- Try to wrap some unfortunate TCHAR references. 2010-09-28.
- Switch iwos_WriteBuffer to hw_iwos_WriteBuffer. 2010-09-28.
- Port hw_iwos_ErrorMessage from 1.9.x. 2010-09-28.
- DATAKIT: Port a bunch of the 1.9.x Unicode changes back
to 1.7.x. 2010-09-28.
- IGES: Port IEEE 260 support from 1.9.x branch. 2010-09-16.
- DATAKIT: Merge in changes for DATAKIT V66. 2010-09-14.
- Add HwStdSER to HwFilename::GetBaseAndExtension. 2010-09-14.
- Fix major issue with HwFilename::operator += (char const *more).
2010-09-10.
- DATAKIT: Try to accommodate Unicode. 2010-09-08.
- CATIA, DATAKIT: Start moving the DATAKIT libraries to
HwFilename. 2010-09-08.
- Add HW_OPTIONAL_TEMPLATE_PREDECLARATION (HwFilename).
2010-09-08.
- SolidWorks: Try replicating the SysAllocString patch. (Hope it
works!) 2010-09-08.
- SolidWorks: Try SysAllocString to convert from wchar_t * to
BSTR. 2010-09-08.
- SolidWorks: Add HwFilename::UnicodeString. 2010-09-07.
- DATAKIT: Try to eliminate the use of TCHAR in HWLibs.
2010-09-02.
- Add HwFilename constructor which takes a std::wstring.
2010-09-01.
- Don't return a reference to a temporary. 2010-09-01.
- Add HwAsciiToUnicode class, and use it a few times. 2010-08-31.
- Add TCHAR constructor to HwFilename. 2010-08-30.
- Start to add in wchar_t support to HwFilename. 2010-08-30.
- All: Get HwFilename class integrated, if not necessarily working everywhere. 2010-08-26
- Add HwFilename class (from 1.9.x) without using it anywhere.
2010-08-17.
- IGES: If we cannot TrialProcessNMTShell, check to see if we have
an open-shell B-rep instead. 2010-08-14.
- IGES: Make the usages of the TrialProcess functions actually a
trial, ie not fatal to the object's import if there is an error.
2010-08-14.
- Make HW_SER_ASSERT return an error even in release mode.
2010-08-13.
- Parasolid: Get curve import working. 2010-08-12.
- Parasolid: Start work on curve import, and refactor fin/edge
handling in the process. 2010-08-11.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for next maintenance
cycle. 2010-06-30.
Changes for IGES 1.7.4/VDAFS 1.5.8/STEP 1.4.4/SAT 1.2.9/OpenNurbs 1.2.9/Parasolid 0.7.1/DATAKIT-CATIA 1.1.0/DATAKIT-CATIA5 1.1.0/DATAKIT-UG 1.1.0/DATAKIT-PRO/E 0.6.0/SolidWorks 0.5.8 |
|
- CATIA, CATIA5, HwTest, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers for release.
2010-06-30.
- DATAKIT: Merge in changes from DATAKIT_V64 branch. 2010-06-27.
- Refactor, add debugging code. 2010-05-10.
- Simple check to help ensure a loop starts in the correct period.
2010-05-10.
- Add model space loop output to rough split code, suppress the
info that the trim loops are correctly oriented so that the parameter
space loop will be output. 2010-05-10.
- Swap around p1 and p2 in BestPossibility so it actually matches
the p6 version (and therefore works properly instead of causing stupid
swings in the values). 2010-05-10.
- Add in ContainsInvertedSurface hack. 2010-05-10.
- Replace calls to round with HwRound. 2010-05-07.
- Try to get things working on Windows. 2010-05-07.
- Make sure output UV curves are parameterized as per surface
rather than from 0 to 1. 2010-05-07.
- Add HwNlibTrimmedSurface::RoughSplit function (untested).
2010-05-06.
- Changes to get Nlib stand alone version working. 2010-05-06.
- Get SplitOnU in there! 2010-05-03.
- Move old static Sort function to HwSort, put it in HwNlibObject,
and make it non-static. Start working on implementing HwNlibPointLoop.
2010-04-30.
- Try to rejigger the IwPoly #ifdefs a tad. 2010-04-28.
- Add HwNlibTrimmedSurface::DumpLoopsForUVSplit and
SurfaceLoopDump (-ld mode in hw_convert). 2010-04-23.
- STEP: Try to allow enumerations missing their leading and/or
trailing dots. 2010-04-14.
- SAT: Tweak ordering of member variables so it matches the
initialization order of member variables. 2010-03-18.
- CATIA, CATIA5, DATAKIT, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Support for GCC 4 "visibility"
attribute. 2010-03-15.
- SAT: Add parasil and shadowtapersur types to the SAT parser.
2010-03-04.
- Tweak the IW_TARRAY_TEMPLATE_PREDECLARATION at SMS's suggestion.
2010-02-25.
- Add IW_TARRAY_BIND_TEMPLATES_H wrapper as suggested by SMS.
2010-02-25.
- SAT: Splice in a couple of dummy strings for version 19
sweepsur. 2010-01-28.
- Remove unneeded "unsigned int i" causing trouble for older
compilers. 2010-01-26.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for next release cycle.
2010-01-24.
Changes for IGES 1.7.3/VDAFS 1.5.7/STEP 1.4.3/SAT 1.2.8/OpenNurbs 1.2.8/Parasolid 0.7.0/DATAKIT-CATIA 1.0.9/DATAKIT-CATIA5 1.0.9/DATAKIT-UG 1.0.9/DATAKIT-PRO/E 0.5.9/SolidWorks 0.5.7 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for release. 2010-01-22.
- IGES: Allow errors in Count without aborting the entire input.
2010-01-22.
- Removed ASCII zero. 2010-01-21.
- DATAKIT: Add #if defined SMLIB wrappers to handle SMLib's extra
parameter to CreateSimpleOffset. 2010-01-21.
- Attempt to account for B-rep attributes when converting a
NMTBrep to manifold chunks for export. 2010-01-21.
- SAT: Add parsing for DXID-attrib type. 2010-01-19.
- DATAKIT: Merge in the DATAKIT V62 branch. 2010-01-19.
- Check to make sure both loops were hit by the splitting curves
instead of just assuming that if there were two, they must have both
been hit. 2009-12-15.
- SAT: Don't reject an edge curve simply because we cannot
calculate GetEndPoints for it. 2009-12-15.
- HwBlendSection::GetSection refactoring, implementation of
HwBlendSkeleton::Evaluate. 2009-12-15.
- Add crosshatch mode. 2009-12-15.
- Don't try to access IwAssembly name in SMLib. 2009-11-28.
- Add 64-bit output for mNlib_POPLib. Add PowerSTL. 2009-11-28.
- Add missing name declaration. 2009-11-26.
- Make EndAssembly match StartAssembly. 2009-11-26.
- If the IwAssemblyInstance doesn't have an attribute name, check
if it has a normal name, or if its assembly has a name. 2009-11-25.
- Try to transfer HwNlibAssembly name to IwAssembly. 2009-11-25.
- Get TransLib version building. 2009-11-18.
- Add hack: if a 3D trimmed intersection curve is analytic and
only has two points in its intersection chart, make a new intersection
curve with the same surfaces and the 3D trimming points as the chart.
2009-11-13.
- Change HwNlibIntersectionCurve::SetSurfaces to take const
surfaces. 2009-11-13.
- Parasolid: Better tracker support. 2009-11-12.
- Added virtual destructor for HwTSLibAssemblyEntityReceptacle.
2009-11-12.
- STEP: Refactor the next assembly usage occurrence name-handling
code. Reject names that start with NAUO in general now, not just names
that start with NAUO_NAME. And apply the same set of rules to both the
first two names we look at. 2009-10-27.
- Parasolid: Count Pointer Lis Blocks, too. 2009-10-19.
- Parasolid: Last patch turned out to be a huge mistake (as
expected) so this reverts it. 2009-10-01.
- Parasolid: Skip processing if B-rep count is one and face count
is one. Think this patch might be dubious, but want to try it and see
what happens in the test suite. 2009-09-30.
- Turn on B-rep editing before calling FindAndSetInfiniteRegion.
2009-09-30.
- Turn on HW_NO_LOG by default, to avoid Windows 7 issues.
2009-09-17.
- SAT: Add support for ACIS ATTRIB_XACIS_NAME attribute
(translated to our name attribute). 2009-09-15.
- Comment with older version of N_toocco call for people without
an up-to-date NLib. 2009-08-10.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for next release cycle.
2009-08-10.
Changes for IGES 1.7.2/VDAFS 1.5.6/STEP 1.4.2/SAT 1.2.7/OpenNurbs 1.2.7/Parasolid 0.6.9/DATAKIT-CATIA 1.0.8/DATAKIT-CATIA5 1.0.8/DATAKIT-UG 1.0.8/DATAKIT-PRO/E 0.5.8/SolidWorks 0.5.6 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG,
VDAFS, openNURBS: Update version numbers for release. 2009-08-09.
- DATAKIT: Remove errant ASCII 0 that had snuck in somehow.
2009-08-09.
- CATIA, CATIA5, DATAKIT, Pro/E, UG: Merge changes in from the
DATAKIT V59 branch. (So the code now supports only V59 of the DATAKIT
libraries.) 2009-08-08.
- Special handling for swapped surfaces. 2009-08-07.
- GetOffsetDistance, not GetDistance. 2009-08-07.
- Try to get this to compile. 2009-08-07.
- Try to implement IwOffsetSurface direction reversing in HwReverse.
2009-08-07.
- Fixed a missing "return IW_SUCCESS". 2009-08-06.
- Move HwReverseSurfaceV prototype to the header so other source files can
use it. 2009-08-06.
- Introduce HwReverse function, which attempts to handle the work of
IwSurface::Reverse in an environment without NLib. 2009-08-06.
- Turn off mistakenly left on debugging code. 2009-07-30.
- STEP: Output B-rep name as product name if available. 2009-07-28.
- Exorcise HwRBTree.h. 2009-07-27.
- Get rid of RBTree. 2009-07-27.
- Merge multimap patch from 1.9.x branch into main code in prep for
getting rid of RBTRee. 2009-07-26.
- Replace all calls to N_igs118 with MakeRuledSurface. 2009-07-26.
- STEP: Fix color output -- previously had STEP indices messed up.
2009-07-22.
- STEP: First stab at implementing support for invisibility (via the
blanked attribute). Note that (crazy as it seems) individual faces may be
invisible. 2009-07-06.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks, UG, VDAFS,
openNURBS: Update version number for next development cycle. 2009-06-26.
Changes for IGES 1.7.1/VDAFS 1.5.5/STEP 1.4.1/SAT 1.2.6/OpenNurbs 1.2.6/Parasolid 0.6.8/DATAKIT-CATIA 1.0.7/DATAKIT-CATIA5 1.0.7/DATAKIT-UG 1.0.7/DATAKIT-PRO/E 0.5.7/SolidWorks 0.5.5 |
|
- Proper DLL export of new classes. 2009-06-26.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version numbers for release. 2009-06-26.
- Parasolid, SAT: Merge in variable radius blend branch.
(Which implements the data types needed to support variable radius
blends, but does not do the actual math.) 2009-06-26.
- In HwNlibTorus::SetSelectOuterFlag, properly handle the case
where a vertex is on both the select inner and select outer forms.
2009-06-19.
- SAT: Add very small fudge factor to the b-spline range reversing
code (rather than relying on double equality). 2009-06-17.
- SAT: Clean up the code a bit. 2009-06-12.
- SAT: Given a sumsur, if the v curve is a straight line, create
it as an infinite tabulated cylinder. 2009-06-11.
- SAT: Switch swepttapersur from using the experimental
HwNlibSweptTaperSurface to a simple HwNlibTabulatedCylinder.
2009-06-08.
- Eliminate HwNlibSweptTaperSurface::Evaluate, since we have no
idea how to make it work yet. 2009-06-08.
- SAT: Add blend variable radius processing, but don't do anything
with it yet. 2009-06-07.
- Sketch in HwNlibBlendRadiusBase class family. 2009-06-07.
- SAT: Merge in the SAT bugs branch, with miscellaneous small
patches and the beginnings of support for swepttapersur. 2009-06-07.
- SAT: Check out spheres, planes, and tori rather than cones and
cylinders. 2009-06-07.
- SAT: Clean up the cone patch. The rules turn out to be very
simple, I think... 2009-06-06.
- SAT: Rewrite the cone parameterization code again. 2009-06-06.
- SAT: Use the u_parameter_reversed flag if the cone is really a
cylinder. 2009-06-05.
- SAT: More cone debugging tools, and adjust the cone
parameterization / normal sense until it works right on at least one
good-sized file. 2009-06-04.
- SAT: New debugging code for TCOEDGE/TEDGE, currently turned off.
2009-06-04.
- Remove some inverted surfaces on curves on surface. (Target is
to remove all of them.) 2009-06-01.
- Parasolid, openNURBS: Switch
HwNlibCurveOnSurface::AssumeCurveAndSurface to return IwStatus.
2009-06-01.
- Implement CopyWithoutInvertedSurfaces. 2009-06-01.
- Add ContainsInvertedSurface. 2009-06-01.
- SAT: Slightly enhanced cone debugging dump info. 2009-06-01.
- Turn off HwNlibInvertedSurface::EvaluateDeriv, as it was wrong
and we do not know how to make it right. 2009-06-01.
- SAT: Check in tvertex here.... 2009-05-31.
- SAT: On cones/cylinders, if the u parameter is reversed, invert
the surface, so that we get the same surface normal as we did before
we fixed the negative reparameterized surface issue. 2009-05-28.
- Fix the doubly reparameterized surface bug. 2009-05-26.
- Reverse surface from reparameterized surface as needed.
2009-05-25.
- openNURBS: Mutate HwReverseSurfaceNormal into HwReverseSurfaceU
and HwReverseSurfaceV, and use them to reverse the direction of
HwNlibReparametizedSurface if needed. 2009-05-25.
- SAT: Better unknown radii type error message. 2009-05-24.
- SAT: Clean up TCOEDGE / TEDGE messages a bit. 2009-05-24.
- Add Indent and DeIndent functions to HwAbstractMessageLogger
interface, simple HwLogIdent class to use it. 2009-05-24.
- SAT: Get the proper parameterization for straights whose extent
is defined by their ACIS parameterization. 2009-05-24.
- Add static HwNlibReparameterizedCurve::ReparameterizeCurve for
easy reparameterization of curves. 2009-05-24.
- SAT: Attempt to align the tedge curve with the tedge vertices.
2009-05-23.
- SAT: Undo the broken cone patch. 2009-05-21.
- SAT: Experimental reworking of cone parameterization -- negative
the u parameterization rather than inverting the surface. 2009-05-20.
- Add HwMessageLogger::~HwMessageLogger which gives the time
logging was finished, making it easy to determine the total length of
the operation logged. 2009-05-20.
- Tighten error margin on HwNlibOrthoSurface binding -- should
still be reasonable amount. 2009-05-16.
- Much improved HwNlibOrthoSurface::BoundInfinite. 2009-05-15.
- HwTest: Turn off all the blend and intersection curve tests.
2009-05-13.
- Try to reorganize and clean up the basic trimming functionality
-- instead of a long tree of different attempts to make in different
orders, make an ordered list of methods to try trimming and then do
them one by one until one works. 2009-05-12.
- Tweaks to handle HwNlibOrthoSurface scaling better (we hope).
2009-05-10.
- Handle scaling in HwNlibOrthoSurface::Transform. 2009-05-09.
- Turn TSLib assemblies back off! 2009-05-09.
- SAT: Detect and correct a second sort of reversed parameter
range for a curve. 2009-05-08.
- Add HwNlibInvertedSurface::EvaluateUnitNormal, which does the
proper inverting of the normal of the base surface. Re-implement
HwNlibOrthoSurface::Evaluate to use the 3D guide curve instead of the
UV guide -- since we're still having parameterization issues with ACIS
cones. 2009-05-08.
- Fix HwNlibOffsetSurfaceCurve::GetMinMaxBox to work from the
curve (plus the offset distance) rather than from the surface.
2009-05-08.
- Implement HwNlibOrthoSurface::MakeNurbs. Add HwNlibOrthoSurface
and HwNlibOffsetSurfaceCurve to Unserialize dispatch. 2009-05-07.
- HwNlibCone::DropPoint implemented. 2009-05-07.
- Implement HwNlibInvertedSurface::DropPoint. 2009-05-07.
- DropPoint for HwNlibReparameterizedSurface and
HwNlibSwappedSurface. 2009-05-07.
- Implement HwNlibOffsetSurfaceCurve::Evaluate. 2009-05-07.
- Add HwNlibSurface::EvaluateUnitNormal interface, and use it to
reimplement HwOffsetSurface::Evaluate and implement for the first time
HwNlibOrthoSurface::Evaluate. 2009-05-07.
- SAT: Add sketch of HwNlibOffsetSurfaceCurve type. 2009-05-07.
- Rename HwNlibTaperedSurface to HwNlibOrthoSurface, add v
parameter range variables and "infinite" functions. 2009-05-07.
- SAT: Very rough placeholder implementation of
HwNlibTaperedSurface to support tapersur import. Nothing actually
works yet. 2009-05-06.
- SAT: Log issues regarding TEDGE curve generation. 2009-05-03.
- SAT: When processing a TCoedge, check the results versus the
edge vertices and if they are really bad, try the TCoedge's partner to
see if it is better. 2009-05-02.
- Implement simple HwNlibCompositeCurve::DoGapsExist function.
2009-05-02.
- Add HwNlibPeriodicSurface to the grand unserialize table of
object types. 2009-05-02.
- Add evaluate functions for the HwNlibConic ellipse case.
2009-04-30.
- openNURBS: Simple HwConvertCurve functions to convert
between ON_Curves and IwBSplineCurves. 2009-04-08.
- STEP: Make NAUO_NAME an ignored name on assembly usages.
2009-04-05.
- Eliminate first (of two sequential) calls to
IwBrep::ValidatePointers. 2009-03-27.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP, SolidWorks,
UG, VDAFS, openNURBS: Update version number for next cycle.
2009-02-24.
Changes for IGES 1.7.0/VDAFS 1.5.4/STEP 1.4.0/SAT 1.2.5/OpenNurbs 1.2.5/Parasolid 0.6.7/DATAKIT-CATIA 1.0.6/DATAKIT-CATIA5 1.0.6/DATAKIT-UG 1.0.6/DATAKIT-PRO/E 0.5.6/SolidWorks 0.5.4 |
|
- VDAFS: Switch VDAFS to use HwLowLevelAsciiOutput
internally, with HwLowLevelAsciiFileOutput as the default
when you pass the VDAFS output code a filename. (And do
that everywhere, exiling the ofstream stuff.) 2009-02-17.
- IGES: Switch IGES export from using an ofstream by default
to using a FILE by default. (Which should clear up
Japanese pathname problem, I hope.) 2009-02-17.
- Recode HwMessageLogger so that it doesn't use an ostream
unless you pass one in to it. 2009-02-17.
- IGES: Add SolidDesigner to the list of IGES pre-processors
which screw up the dependencies on subfigures. 2009-02-13.
- Add debugging dump (turned off) for extreme curve to
surface distance failures. 2009-02-03.
- STEP: Trivial changes to clear up compiler warnings.
2009-01-31.
- DATAKIT: Merge in DATAKIT V56 branch. 2009-01-23.
- SAT: Trap errors in PassObject call, so that errors in one
object do not bring the entire model down. 2009-01-22.
- CATIA5, DATAKIT: Mild improvement to DATAKIT file open
error messages. 2009-01-15.
- Added new debugging output with info on which face failed.
2009-01-13.
- Post-release tweaks suggested by customers. 2008-12-17.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for development cycle. 2008-12-12.
Changes for IGES 1.6.9/VDAFS 1.5.3/STEP 1.3.9/SAT 1.2.4/OpenNurbs 1.2.4/Parasolid 0.6.6/DATAKIT-CATIA 1.0.5/DATAKIT-CATIA5 1.0.5/DATAKIT-UG 1.0.5/DATAKIT-PRO/E 0.5.5/SolidWorks 0.5.3 |
|
- DATAKIT: Merge in DATAKIT V55 branch.
2008-12-12.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version number for
release. 2008-12-12.
- IGES: In SolidWorks files, if you see a type 402, form 16
planar group as a component of a subfigure, incorporate its
members into the subfigure. 2008-12-12.
- IGES: Convert some char pointers to char const pointers to
conform to C99 standard. 2008-12-12.
- STEP: If infinite lines appear in a geometric set, treat
them as finite lines by taking the bit of the line defined
from 0 to 1 in the line's parameter space. 2008-12-11.
- Try to limit the scope of the cone vertex patch from a few
months back, so that it doesn't create enormously long cone
surfaces for no good reason. 2008-12-10.
- Parasolid: Instead of the previous "special exception" list
of schema versions whose files do not have embedded schema
info, realize that the files with embedded schemas all have
three numbers in their schema version string, whereas the
ones that do not have it only have two. At least, that's
how it looks in all our sample files. This commit uses
that to trigger the embedded schema code, and adds logging
of what it is doing. 2008-12-08.
- SAT: Fix typo in the specification for
name_attrib-gen-attrib (which caused problems if the
version number of the file was exactly 6.0). 2008-12-08.
- Parasolid: If we use a new schema that was embedded in the
file, log its basic info. 2008-12-03.
- Remove apparently useless duplicate
IW_TARRAY_TEMPLATE_PREDECLARATION define from HwCommon.h.
2008-12-03.
- Turned off the Borland Nlib-workaround defines -- they're
probably obsolete, and they were causing a ton of noise
when making makefiles. Also disable deprecated warnings
when making makefiles. 2008-12-03.
- Parasolid: Tweaks needed to the embedded schema to make it
work correctly -- added a much-needed i++ to the
insert/append command, and delete remaining fields past i
when Z is received (which violates the letter of the spec,
but is clearly what the Parasolid files we are looking at
actually do). 2008-12-03.
- Parasolid: Realize that if ptr_class is non-zero, then the
datum type is 'p', pointer. Duh. 2008-12-02.
- Parasolid: Try to actually create the I/O command
associated with each field in the embedded schema.
2008-12-02.
- Parasolid: Implement
HwParasolidSchema::GetShortUserfieldFlag, which lets the
reader know if the user field is a short or an int. This
used to be a simple schema version check against 13006, but
as that is now what "future" schemas register as, the check
had to get more complicated. 2008-12-02.
- Parasolid: Turn on the embedded schema code that's been
lurking in the Parasolid code for years without being used.
2008-12-02.
- IGES: Tweaks to make stuff happier. 2008-12-02.
- STEP: Change HwNlibCurveOnSurface::LiftCurve to just use
HwNlibCurveOnSurface::Evaluate directly. 2008-11-29.
- STEP: Implement HwNlibExtrudedLineSurface (representing a
simple extruded infinite line) and use it to handle that
case in STEP. 2008-11-28.
- Make the default behavior for HwNlibSurface be that every
surface can be evaluated outside of its parameter range,
and HwNlibSURFACE only inside its parameter range. This
should enable our latest patches to match the old behavior,
except when it is better. 2008-11-24.
- Provide a return value for
HwNlibPeriodicSurface::GetParameterRange. 2008-11-22.
- SAT: Add HwNlibPeriodicSurface wrapper type, and apply it
(as specified in the file) on SAT files to solve a bug.
2008-11-22.
- Rough sketch of HwNlibPeriodicSurface class, and try to
improve the smarts of the HwNlibCurveOnSurface class about
the underlying surface. 2008-11-20.
- Eliminate (void *) casts from IwBSplineCurve and
IwBSplineSurface constructor calls (at SMS's request).
2008-11-18.
- Add code for automatically detecting the outer region on
B-reps, as per SMS request. 2008-11-11.
- When evaluating a spine curve, only wrap around back to the
beginning if the curve actually is closed. 2008-11-03.
- IGES: Extend the SolidWorks subfigures need to be marked
dependent bug in two ways: Now it is executed even if the
preprocessor name has an extraneous space as the first
character, and all the marking is done before any other
processing is done on the file, so that the case with full
trees of mismarked assemblies is handled correctly.
2008-11-03.
- DATAKIT: Changes to bring build up-to-date with latest
version of SMLib. 2008-11-01.
- SAT: Modify some v15 versus v16 rules based on customer
data. 2008-10-27.
- Modify the vertices version of HwNlibCone::BoundInfinite to
always include the cone's vertex. 2008-10-23.
- STEP: Duplicate HwStepReadHeaderInfo declaration to get the
DLL linkage correct. (Sigh.) 2008-10-20.
- SolidWorks: Patch up another (much more unlikely) buffer
hole. 2008-10-15.
- SolidWorks: Replace "char buffer [200]" with unlimited
extent HwStdStrings, to deal with really really long
configuration names. 2008-10-15.
- Try to get non-advanced Nlib working with the new
MakePolynomialArc stuff. 2008-10-07.
- Turn the MakePolynomialArc function into a class with a
single class function, because it is always called repeated
on the same size set of data, and we can get big efficiency
improvements by moving the identical initialization code
into class member variables so it doesn't have to be called
every time an arc is created. 2008-10-07.
- Refactor SolveForControlPoints function so that we can
break out the repeated matrix calculations (if possible).
2008-10-07.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for start of next release cycle. 2008-10-03.
Changes for IGES 1.6.8/VDAFS 1.5.2/STEP 1.3.8/SAT 1.2.3/OpenNurbs 1.2.3/Parasolid 0.6.5/DATAKIT-CATIA 1.0.4/DATAKIT-CATIA5 1.0.4/DATAKIT-UG 1.0.4/DATAKIT-PRO/E 0.5.4/SolidWorks 0.5.2 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for release. 2008-10-03.
- SAT: First implementation of rulesur (reverse engineered
based on new file from customer). 2008-10-02.
- CATIA5, DATAKIT: Merge in V54 branch, so translators now work
with DATAKIT's V54 libraries. 2008-09-23.
- IGES: Special flag to deal with file from DATAKIT where the
bspline polynomial flag logic is reversed. 2008-09-23.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for next maintenance cycle. 2008-08-27.
Changes for IGES 1.6.7/VDAFS 1.5.1/STEP 1.3.7/SAT 1.2.2/OpenNurbs 1.2.2/Parasolid 0.6.4/DATAKIT-CATIA 1.0.3/DATAKIT-CATIA5 1.0.3/DATAKIT-UG 1.0.3/DATAKIT-PRO/E 0.5.3/SolidWorks 0.5.1 |
|
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Update version numbers
for release. 2008-08-27.
- Add HwNlibTabulatedCylinder::EvaluateDeriv, which allows
the evaluation of points on offset tabulated cylinders.
2008-08-26.
- When converting the faces of a B-rep into a set of
stand-alone one-face B-reps, do not assume the resulting
faces will be open. It is perfectly possible to have a
closed face, too. 2008-08-25.
- Correct export crash if a B-rep cannot be converted to
HwNlibBrep form. 2008-08-25.
- If the new exact intersection routine fails, just use the
old routine. 2008-08-21.
- Tighten tolerance check for special cases in cone / plane
intersection. 2008-08-21.
- Pretty up the exact plane / analytic intersection code.
2008-08-19.
- Add cylinder / plane intersection special case to the
intersection code. 2008-08-17.
- Add tolerance comparison to plane / cylinder intersection
where the plane's normal is perpendicular to the cylidner's
axis. 2008-08-17.
- Exact cylinder / plane intersection code. 2008-08-17.
- Exact sphere / plane intersection implemented. 2008-08-16.
- In the hyperbola case, if the (local) x value is negative,
then make the derivative negative as well for the tagent.
2008-08-16.
- Realizing we have no idea how to handle parameterization on
an elliptical cone, turn off evaluation and projecting to
non-circular cones. 2008-08-15.
- Used abs, should have used fabs. 2008-08-15.
- During a cone / plane intersection, if the result is a
hyperbola, actually create the curve! 2008-08-15.
- Sort out the sign of d in the cone / plane intersection
code. 2008-08-15.
- Make the HwNlibOperators header a little more sensible, and
add it to the projects so it will ship properly to
customers. 2008-08-15.
- Factor out the Nlib structure operators we added in
HwTSLibMath to a header file so they can be used elsewhere.
2008-08-15.
- Add HwNlibObject::SystemTransform, which transforms an
object based on an HwCoordinateSystem. 2008-08-15.
- Correctly calculate the angle to determine the sense of a
circle. 2008-08-14.
- Go with base surface type rather than top surface type to
determine if we have a cone / plane intersection.
2008-08-14.
- Fix mistake based on typo in book. 2008-08-14.
- Sketch in implementation of plane / cone intersection.
2008-08-13.
- Add HwNlibCone::GetApexPoint function. 2008-08-13.
- CATIA, DATAKIT: Merge in DATAKIT V53 branch. 2008-08-12.
- Try to streamline and make more universal the intersection
curve sample patch. Something still better is needed.
2008-08-09.
- Special case to try to deal with an anayltic surface
intersection curve with three chart points, one of which is
way off in space. Before, the intersection curve
constructed in that case would be very inaccurate because
it was sampled too few times. Now detect this special case
and drastically bump up the sampling rate. 2008-08-08.
- Hack to smuggle HWO files in as other file types in
debugging mode. 2008-08-06.
- Add colored collection type as a debugging aid. 2008-08-06.
- IGES: Check in the documentation example files. 2008-08-05.
- Force split curves to the proper dimension. (Not sure why
necessary in general, but seems to help out one customer
quite a bit.) 2008-08-05.
- STEP: Much smarter recovery from problems in the EscapeX
sequences. 2008-08-01.
- STEP: A small slip-up resulted in incorrect escape codes
eating the entire text of the file. Fix it so they work
"properly" again. 2008-08-01.
- STEP: Add support for other special string escape
codes. 2008-07-23.
- STEP: Support incoming \X codes (one byte version properly
interpreted, longer versions passed through unchanged).
2008-07-22.
- STEP: Properly export ASCII values outside the
normal range in strings. 2008-07-22.
- Fix export patch so that it works in POPLib. 2008-07-22.
- Fix unsigned int cast so it works on Linux. 2008-07-21.
- Make the example files part of the normal build, so we
always know if they are compiling correctly. 2008-07-21.
- Second example file. 2008-07-21.
- Improve define documentation. 2008-07-21.
- Get many of the common defines documented.
2008-07-21.
- Add examples to Doxygen documentation, finish documenting
IwAttribute ID types. 2008-07-21.
- Sample Nlib code file, plus code to include it in the
documentation. 2008-07-21.
- Example code for documentation. 2008-07-21.
- Start documenting attribute ID numbers. 2008-07-21.
- Get basic outline of NMTLib attribute stuff in place.
2008-07-21.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: C-style docs, HwNlib
attribute group (with examples!). 2008-07-21.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Add many missing
parameter descriptions, and a few other misc tweaks.
2008-07-20.
- CATIA, CATIA5: More tweaks. (And more needed, alas.)
2008-07-20.
- IGES: Fix some incorrect-under-Doxygen formatting commands,
and predefine some macros to clean up processing.
2008-07-20.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, openNURBS: Clean up some errors in the
documentation. 2008-07-20.
- IGES, SAT, STEP, VDAFS, openNURBS: Basic Nlib-export
functions defined, bad Doxygen parsing glitch fixed.
2008-07-20.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Basic Nlib import
functions in documentation group. 2008-07-20.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Receptacle interface
documentation group. 2008-07-20.
- IGES, SAT, STEP, VDAFS, openNURBS: Fix export docs so they
don't talk about what entity types will be written out (as
that info was wrong almost 100% of the time). 2008-07-20.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Export functions added,
still some tweaking to go. (Er, and import functions too?
Did I not check in the last batch of changes before this?)
2008-07-19.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Document
HW_NO_TSLIB_ASSEMBLIES and add links to it from all the
basic import functions. 2008-07-19.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Add a round of
documentation. 2008-07-19.
- Updated for latest version, customized a bit more.
2008-07-19.
- Fix SER_EI and SER_AI so they work under SMLib. 2008-07-16.
- SAT, openNURBS: Basic implementation of export with
issues interface. 2008-07-15.
- Eliminate warnings. 2008-07-08.
- Add GetHighestOwner to HwIdentifierNumber, to make it easy
to recognize the first body in an SAT file, and things like
that. 2008-07-08.
- Fix unimportant typo so that no warnings are generated.
2008-06-26.
- IGES: When writing an NMT B-rep, return the proper DE
rather than a random number. (Patch ported back from 1.9
branch.) 2008-06-23.
- CATIA, CATIA5, IGES, Parasolid, Pro/E, SAT, STEP,
SolidWorks, UG, VDAFS, openNURBS: Change version numbers to
start next development cycle. 2008-06-19.
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.
2006/01/08.
- If there aren't many points in a surface-surface
intersection curve, cut min_distance in 1/3 to generate
some additional points so you can make a nice curve.
2006/01/07.
- Use the minimum difference index found for the best point
in the intersection, rather than "i", which will always be
out of the array's range. 2006/01/07.
- Major rewrite of the surface-surface intersection curve
code. Untested. 2006/01/07.
- Refactor to IsBetween function, clean up a bit of debugging
code. 2006/01/07.
- Have the destructors for HwBlendSupportCurve and
HwBlendSupportSurface delete the curves/surfaces they point
to; I guess I should now say, that they hold. Greatly
simplifies code that uses these classes. 2006/01/06.
- Stop special-casing spine curve conversion. Now we always
want (and get) the longest intersection curve possible.
2006/01/06.
- Fix one error return that should have been a success with a
failure flag set. Make tolerance on section calculation
more generous. 2006/01/06.
- Clean up a bit after last change, removing code which will
now never be called. 2006/01/05.
- Rewrite the cliff-edge blend support to use the new blend
tools, then realize that rolling-ball blend (with spine)
support just requires a slight tweak of the new cliff-edge
code. 2006/01/05.
- Switch cliff-edge blend to use new blend code as well.
2006/01/05.
- Clean up the cliff-edge blend code in preparation for
rewriting it. 2006/01/05.
- Fix the new blend code so that it only looks at the valid
region of a blend. 2006/01/05.
- Blend skeletons are parameterized in terms of their spine
curves, not from 0 to 1 -- fix GetBlendInterval function to
recognize this. 2006/01/04.
- Refactor fillet code a bit, then apply new fillet code to
two surface blends where a spine is present. 2006/01/04.
- Add a bit of const correctness to the blend support
classes. 2006/01/04.
- Implement function to find the proper offset for a
Parasolid blend support, and create that offset surface.
2006/01/04.
- Simple test for simple function to find the real offset
direction on Parasolid support surfaces. 2006/01/04.
- Move the DropPoint functions (renamed to HwDropPoint) and
HwBlend classes to HwTSLibMath. This is more appropriate
in terms of what the functions/classes are doing, and it
will make the new classes much easier to test directly.
2006/01/03.
- CATIA: Straightened out basic IDs for the new model.
2006/01/03.
- DATAKIT: Don't warn on entities that DATAKIT does not know.
Process type 22 coordinate systems. 2005/12/23.
- CATIA: Piping callback function added. 2005/12/23.
- DATAKIT: Support for piping entity via a callback function
which must be registered (as piping seems to be v4 specific
for now, and we're using it in general purpose code).
2005/12/23.
- DATAKIT: Update to allow explicit specification of the
UnionName, so we can have a Cartesian_point_with_infos
object named cartesian_point. 2005/12/23.
- DATAKIT: Recognize that loop orientation can be -1 for
"don't know". 2005/12/22.
- Code implemented to find the valid range of a blend
surface, but not tested. 2005/12/22.
- DATAKIT: Tool to autogenerate the DATAKIT type ->
processing switch functions. 2005/12/21.
- Turns out the secret of the old intersection edge-finding
routine was that it returned the best intersection point
found. We were trying to return the best t from which an
intersection point could be found, and then calculating the
starting point of the intersection calculation rather than
the resulting intersecting point! Now we properly make
sure the point we return is on the intersection.
2005/12/21.
- When trying to find the correct edge of the intersection,
make sure any intersections found have an intersection
point which matches the seed point we put in. 2005/12/20.
- CATIA: A bit of basic progress tracking, plus basic support
for solids. 2005/12/20.
- CATIA: Support curve bounded surfaces in the new v4 code.
2005/12/19.
- CATIA: Start of new v4 code. 2005/12/19.
- HwBuild: Updated for DATAKIT 12/17/2005 release.
2005/12/19.
- Add additional, easy-to-use unserialize to curve function.
2005/12/17.
- Make sure there is always a correct value returned by the
edge finding code. 2005/12/16.
- Start to sketch out code to determine the proper extent of
a blend. 2005/12/16.
- Generalized the intersection curve edge finding algorithm
to work on finding edges anywhere. 2005/12/16.
- Sketched in surface-based blend support class, moving a
bunch of DropPoint functions earlier in the file to make it
work. 2005/12/16.
- Start refactoring in blend support code. 2005/12/15.
- Construct a new class-based interface to the debugging
logger global, so that the previous value can be restored
when the current one goes out of scope. 2005/12/15.
- Put a simple wrapper around the blend surface creation
code, so that (in debug mode) failed blends are written to
HWO files. Provide a new, class-based interface to the
debugging logger global, so that the previous value can be
properly restored when the current value goes out of scope.
2005/12/15.
- Move the HwOverrideGlobalWrapper template to the highest
header, as it might be useful. 2005/12/15.
- STEP: When trying to work out a transform for a STEP
assembly component, historically we have checked to see if
the product we are looking at matched the "component" field
in the representation relationship with transform
structure. Unfortunately, our method for making this
comparison fails if there are two (or more) shapes for a
given product. (Not that we understand why anyone would
ever actually do that in a file, mind you!) This patch
tighten ups this check so that we do not switch the
direction of the transform unless we can verify that the
component we want is the other field ("assembly" rather
than "component"), rather than simply assuming it must be.
2005/12/14.
- UG: Fixed case in include. 2005/12/13.
- UG: Comment out an unused line that was giving GCC fits.
2005/12/13.
- UG: Fixed case from HwNlibUgProcessor to HwNlibUGProcessor
in includes and comments. 2005/12/13.
- UG: Changes for latest version of UG. Untested.
2005/12/13.
- HwBuild: Updates for latest UG. 2005/12/13.
- DATAKIT: Fix GCC-incompatiable variable declarations in for
statements. 2005/12/13.
- DATAKIT: Fixed path in include statements. 2005/12/13.
- Parasolid: Special case for the version 1401272 -- we've
only got one file, but it doesn't match either the versions
before or after. For now we will special case that file.
2005/12/12.
- Parasolid: Handle Parasolid files whose 1st node is a list
of other nodes. (That allows people to send more than one
body or assembly tree in a single file.) 2005/12/12.
- Parasolid: Handle the case of the spun surface which spins
an infinite straight line. 2005/12/08.
- STEP: Support for infinite (straight line) surfaces of
revolution added. 2005/12/08.
- Clean up the second RLS MakeNurbs function -- because it
takes u min and u max, we don't care if the surface is
infinite, and then we switched it to actually use u min and
u max rather than the built in p_start_u and p_end_u.
2005/12/08.
- Fix RLS transform function -- it was removing the
(important!) magnitude of the generatrix direction vector
previously. 2005/12/08.
- Fix two glitches in RLS serialization. 2005/12/08.
- Test of RLS serialization. 2005/12/08.
- Properly copy RLSs. 2005/12/08.
- Test RLS MakeCopy function. 2005/12/08.
- Switch strict qualities to greater-than-equal /
less-than-equal to handle the tricky cases where the
MINMAXBOX is not aligned the same way the revolved surface
is. 2005/12/08.
- New HwNlibRevolvedLineSurface, which is a surface of
revolution revolving an infinite straight line. 2005/12/08.
- Add Date field to HwHeaderInfo. 2005/12/07.
- SAT, STEP: When sending data to the interface, fill
HwHeaderInfo with available descriptive info from the
header of the file. 2005/12/04.
- STEP: Properly call HwStdSER for all strings read into a
vector of strings. 2005/12/04.
- VDAFS: Create and implement
HwVdafsHeaderSection::HeaderToHeaderInfo, which mines the
VDAFS header section for info for HwHeaderInfo. Then use
that function to get better header info for VDAFS file
reads. 2005/12/04.
- Replace user of InvertPoint3d with a longer bit that works
in both SMLib and SOLIDS++. 2005/12/03.
- DATAKIT: Couple of minor tweaks for 11/05 DATAKIT
compatibility. 2005/11/30.
- When creating an HwNlibCircle from an IwBSplineCurve which
is circular, use the specified start and end param rather
than the natural ones of the IwBSplineCurve. 2005/11/29.
- When converting an IwEllipse to an HwNlibCircle, use the
specified parameter range (in terms of the IwEllipse)
rather than the entire parameter range of the IwEllipse.
2005/11/29.
- Allow conversion of IwCompositeCurve to
HwNlibCompositeCurve. 2005/11/17.
- DATAKIT: Merge in latest DATAKIT changes. May not compile.
2005/11/15.
- Added field to HwFacet to allow additional data to be
stored with the triangles. 2005/11/14.
- STEP: Check to make sure the STEP header file name object
is available before trying to use it. 2005/11/07.
- STEP: Trap errors when reading header fields -- we don't
really use them for much anyway, so why stop an entire file
read because they cannot be read? 2005/11/07.
- SAT, IGES: Implement face number attribute I/O. 2005/10/28.
- Add the new face number attribute, in both HwNlib and Iw
versions, with appropriate conversions between them.
2005/10/28.
- Don't force every NURBS control point to be 2D. 2005/10/28.
- Handle I/O for reparameterized curves. 2005/10/25.
- Remove two member variables which are not actually used
from HwNlibReparameterizedCurve. 2005/10/25.
- Add new Nlib debugging tool, dumping HWO files. Primitive
yet. 2005/10/25.
- Add I/O support for HwNlibTrimmedSurfaces, plus fix a major
bug in HwNlibCURVE export. 2005/10/25.
- DATAKIT: Make all the inner loops of a curve bounded
surface have the same type (2d or 3d) as the outer loop.
2005/10/24.
- DATAKIT: Add support for Polylines. 2005/10/24.
- DATAKIT: For the outer loop of curve bounded surfaces -- if
you cannot find a UV loop, try looking for a 3D loop.
2005/10/24.
- UG: Added very basic assembly component names to items. To
be rewritten when proper assemblies are implemented.
2005/10/21.
- DATAKIT: Make curve bounded surfaces with no loops an
error, rather than a naturally bound surface. Still allow
the case of a naturally bounded surface with inner loops.
2005/10/21.
- CATIA5: Take out Guillaume's suggested to_nurbs = 2 switch,
as it drastically slowed down the translator. 2005/10/21.
- Plug a theoretical memory leak. 2005/10/20.
- Plug a major memory leak. 2005/10/20.
- Tweaked defines so that we get error logging on both SMLib
and SOLIDS++ now. 2005/10/19.
- Fix the broken Nlib split routine -- somehow I dropped an
n++ when I copied the basic logic from HwNlibCurve, which
meant I was taking the upper index of the array of segments
and using it like it was the number of segments.
2005/10/18.
- When generating a plane surface, parameterize it from 0 to
1 (each way) rather than by its size. 2005/10/18.
- Special case the very large planar surface problem.
2005/10/18.
- I liked the SplitAtDiscontinuities function so much I
bought the company! No, actually I just refactored it a bit
so it can be used in the 3D case as well. 2005/10/18.
- Deal with pesky n == 0 case in Nlib version of
SplitAtDiscontinuities. 2005/10/18.
- Change the HwTSLibTrimLoop2d::SplitAtDiscontinuities to use
the Nlib discontinuity detection code rather than the
NMTLib -- much better results on ugly data, it seems.
2005/10/17.
- More conditions which allow for shrinking of surface.
2005/10/17.
- Check to see if the UV space covered by a surface's
trimming loops is very much smaller than the actual UV
space of the surface. If so, trim the surface back and
adjust the loop coords to compensate. 2005/10/17.
- Add HwTSLibTrimLoop2d::ReparameterizeUVSpace to assist in
handling UV curves on surfaces which are massively bigger
than the actual area of interest. Not automatically
called. 2005/10/17.
- Split the incoming curves at discontinuities. 2005/10/16.
- Add HwNewDelete bases to the HwTSLib trimming classes, so
that they can be used from outside of the hw_core DLL.
2005/10/15.
- emergency special case for the end of rail curves if the
normal section point gathering method has not worked.
2005/10/14.
- When putting blend surfaces directly in a B-rep, remove
each from the array of surfaces to be deleted after it is
inserted in the B-rep. 2005/10/14.
- Actually set the HwCoordinateSystem's value once you've
unserialized it. 2005/10/14.
- Start to add support for HWO import. 2005/10/14.
- Before checking the type of the object just read in, make
sure it is not null. Output the number of points in an
intersection curve chart. Initialize CURVEs and SURFACEs
before trying to use them. 2005/10/14.
- Tweaks to new I/O methods. 2005/10/13.
- Add HWO format to formats list. 2005/10/13.
- HwNlibObject direct I/O. Primarily for debugging purposes.
2005/10/13.
- Remove the ill-advised and not completely implemented
"stored transform" code from the HwNlibOffsetSurface class.
2005/10/12.
- SolidWorks: Read all configurations, not just the first.
(The proper way of handling multiple configurations must
still be determined.) Print error messages to the file if
a given body cannot be read at all. 2005/10/12.
- Refactored the surface/surface intersection code a bit, and
used the resulting FindIntersection function to implement a
new method to find the edge where the two surfaces stop
intersecting. (Basically binary search using the
FindIntersection function.) 2005/10/12.
- Take the basic technology in the cliff-edge blend code,
refactor it, and make it a new general purpose blend
surface processor. Still needs debugging, but has
potential to be a big improvement, as it works much closer
to the Parasolid model of how a blend surface is actually
defined. 2005/10/09.
- SolidWorks: Check to see if SwDocumentMgr.dll is available
or not, and report the new IW_ERR_SW_DLL_NOT_REGISTERED
error if it is not. 2005/10/08.
- Added IW_ERR_SW_DLL_NOT_REGISTERED error message.
2005/10/08.
- Doing intersection curves, if the subdividing fails, do not
simply return the last point of the span (thereby creating
a doubled point). 2005/10/07.
- CATIA5: Get all data as NUBS, as suggested by Guillaume.
Seems like maybe a bad idea, but what the heck, we'll give
it a try. 2005/10/06.
- DATAKIT: Use the HwCatia tools to automatically delete the
edge curves constructed for v5 edges. 2005/10/05.
- If available, use the spine curve to bound the extent of
infinite blend supports. 2005/10/05.
- Refactor HwNlibIntersectionCurve code a tad. 2005/10/05.
- UG: Actually detect the missing / incorrect schema problem
in UG and report that specific error. 2005/10/05.
- SolidWorks: Log fatal errors. 2005/10/04.
- Parasolid: Report fatal errors to message file. 2005/10/04.
- UG: Report fatal errors to message file. 2005/10/04.
- Parasolid: When reading a value in a Parasolid header, quit
reading the current value if you hit an end-of-line
character followed by an asterisk to start the next line.
2005/10/02.
- Two new errors for SolidWorks. 2005/09/29.
- SolidWorks: Make sure the file's version is actually
supported by SwDocumentMgr.dll -- introduce two new errors
to use if it is not. 2005/09/28.
- STEP: Corrected an uninitialized variable affecting torus
processing, added flag to process PRO/ENGINEER curve
bounded surfaces as if they were IGES 144 rather than IGES
143 (which is what the standard defines). 2005/09/27.
- CATIA5: Comment out unused Feature code that no longer
links. 2005/09/26.
- DATAKIT: Two changes needed for the 9/23/2005 version of
DATAKIT v5 library -- make sure we clean up allocated
memory for a face, and ignore loop orientation info.
2005/09/26.
- SolidWorks: Workaround for a Borland compiler bug.
2005/09/26.
- DATAKIT: Changes to bring in line with latest DATAKIT.
2005/09/23.
- DATAKIT: Update for latest datakit. (Even though the file
was only introduced two days ago. Things change fast in
this modern world...) 2005/09/23.
- DATAKIT: Latest DATAKIT update. 2005/09/23.
- Hack in the assert torus code to handle when our sample
point has x and y coordinates of 0 (only happens in
degenerate toruses). 2005/09/20.
- DATAKIT: New DATAKIT file. 2005/09/20.
- Turned off unnecessary (but nice) knot removal for
arclength NURBS reparameterization. It's just too slow to
do automatically, I fear. 2005/09/20.
- Fix loop scoping. 2005/09/20.
- Add new experimental function to remove excess knots (that
is, greater than the order of the curve), which is then
applied to the arclength version of NURBS curves.
2005/09/17.
- DATAKIT: If the outer loop is null, go with the natural
outer loop for the surface. 2005/09/10.
- Do not allow floating point numbers greater in magnitude
than 1e50. 2005/09/09.
- If you get an isolated shell into the ConvertSolid routine,
explode it rather than rejecting it outright. 2005/09/07.
- When intersecting two surfaces, if the chart points are
further than tolerance away from one or both of the
surfaces, bump up tolerance so they are still within
(adjusted) tolerance. 2005/09/06.
- Updated version numbers for development. 2005/08/27.
Changes for IGES 1.5.6/VDAFS 1.4.0/STEP 1.2.6/SAT 1.1.1/OpenNurbs 1.1.1/Parasolid 0.5.3/DATAKIT-CATIA 0.5.4/DATAKIT-CATIA5 0.5.3/DATAKIT-UG 0.4.3 |
|
- Update version numbers for 1.5.6 release.
2005/08/26.
- SolidWorks: Move getimportbody tests to the outer loop, so
they apply to all versions. 2005/08/26.
- CATIA5: Use #if to turn off experimental FDT code. Can
easily be turned back on, of course! 2005/08/26.
- Delete the IwFilletExecutive internal B-rep it doesn't
delete automatically. 2005/08/25.
- When unpacking an assembly, report a non-fatal error if you
encounter something you do not know how to process, rather
than a fatal error which will shut down the entire assembly
unpacking process. 2005/08/25.
- UG: Handle blanked faces properly. Don't create an error
if no faces could be created (they might just be all
blanked, after all). Create a B-rep even if it has no
transform on it. 2005/08/25.
- DATAKIT: When processing a UG-style shell, check to see if
faces are blanked and unless the include blanked flag is
set, skip them if they are. 2005/08/25.
- Patch long-standing memory leak when a surface cannot be
trimmed. 2005/08/24.
- Got over-enthusiastic in the memory leak patching and
patched something that was already being deleted. This
patch corrects that. 2005/08/23.
- Patched memory leaks in the trickier bits of fillet code.
2005/08/23.
- Patch a couple of memory leaks in fillet code. 2005/08/22.
- CATIA5: Points are now returned as
cartesian_point_with_infos. 2005/08/22.
- UG: Make build with latest DATAKIT library. 2005/08/20.
- Plug memory leak. 2005/08/20.
- Patched two memory leaks. 2005/08/19.
- DATAKIT: Merge in latest DATAKIT release. 2005/08/19.
- Delete AddSamplePoints in favor of the existing
GetSamplePoints function; fix that function so it works on
HwNlib3dTrimmedCurves. 2005/08/16.
- Do not fail the blend creation if we can not figure out
what its orientation should be -- instead, just indicate
the new error and get on with things. Also, sample points
from model space loops when doing a model space trim
(trimmed surface construction path) to help figure out
which fillet we should use if there is more than one
solution. 2005/08/16.
- Blend orientation confusion error message. 2005/08/16.
- When creating a filler curve on a surface from 3D points,
check to see if one (or both!) of the points lie on a seam,
in which case the other side of the seam might yield a
better connecting curve. (We're using "shorter" as a
first-approximation to better here.) 2005/08/15.
- Ferreted out some stray ASCII 0s that had snuck into the
code. 2005/08/13.
- Use a finer grained test when you try to figure out the
surface orientation. 2005/08/12.
- Refactor the code for converting the spine curve from
HwNlibCurve to IwBSplineCurve, as it needs to handle
intersection curves in a special fashion. 2005/08/12.
- Refactor the rail code a tad, to allow a fallback to the
older method if the rail method fails. 2005/08/11.
- Turn off the sphere / torus realign code -- it seems to
cause more harm than good. 2005/08/10.
- Don't try to orient the blend surface based on the spine
unless you actually have a valid spine. 2005/07/28.
- Add a couple of reverse cases to try to get the UV curve on
blend surfaces to come out properly. 2005/07/28.
- Turn back on the smart trimmed curve on blend surface code,
and make it smart enough it works somewhat. 2005/07/28.
- Refactor ConvertTrimmedCurve so we can use the logic on
IwBSplineCurves as well as HwNlibCurves. Turn off the new
rail code temporarily for test. 2005/07/28.
- More detail on blend surface type string -- now reports
cliff-edge blends. 2005/07/28.
- Start using preiously developed rail code to create
implicit edges for blend curves. 2005/07/28.
- New tool to properly orient blend surfaces so they match
their spine. 2005/07/27.
- Add new attribute type IW_AIH_NLIB_SURFACE_TYPE for
debugging. 2005/07/27.
- Better type string for offset surfaces. 2005/07/27.
- Add debugging code to log the Nlib surface type of faces
which have to be flipped to get a proper trim. 2005/07/27.
- Set up global debugging interface to allow the use of the
logger anywhere in the code, rather than simply places with
a logger variable passed to them. 2005/07/27.
- HwUnitTest: Make work with the new version of the blend
surface. 2005/07/25.
- Proper ANSI pow call. 2005/07/25.
- Completely rewrite the surface offseting code for blend
surface supports. 2005/07/25.
- Better offset surface type string. 2005/07/25.
- Make the filleting offset code a little smarter, before
rewriting it yet again. 2005/07/25.
- Added additional SplitAtSeams debugging code, turned off.
2005/07/25.
- Since we've loosened up the conditions under which we try
switching the offset direction of a fillet support, don't
make the switch permanent until we verify that the switched
version works! 2005/07/24.
- Previously we tried to use the opposite offset for a
surface (during blend surface construction) only if the
spine curve was successfully dropped to the original
offset, but had too great a distance. Now we also try to
flip the offset if the spine curve could not be
successfully dropped to the original offset. 2005/07/23.
- Use the new logical spine reverse flag to potentially
reverse curves on blend surfaces. 2005/07/20.
- Add a flag to blend surface to specify whether or not the
spine curve had a logical reverse flag set in the file.
(Important for Parasolid.) 2005/07/20.
- Parasolid, SAT: Add a flag to blend surface to specify
whether or not the spine curve had a logical reverse flag
set in the file. (Important for Parasolid.) 2005/07/20.
- Turn off new enhancements to curve on blend, tweak the
ending edge orientation. Probably not right yet, but let's
do something testing. 2005/07/20.
- Next stage of curve on blend surface improvements checked
in partially done. 2005/07/20.
- If blend bounds on blend surfaces go across the blend
(rather than along it), create a circular cross-section of
the ideal blend rather than creating a real blend surface
and then lifting an appropriately constructed UV curve onto
it. (Ack! This was a stupid mistake, backed out later.)
2005/07/19.
- Parasolid: Correct the blend bound curve to use a UV curve
which, while still not generally correct, is at least now
along the correct coordinate. 2005/07/19.
- Loosen the tolerance just a tad on singularty detection, so
that it matches the later assumptions we make about loop
correction near singularitis. 2005/07/15.
- openNURBS: Fixed memory leak in previous patch. 2005/07/14.
- openNURBS: Add HwNlibOpenNurbsSurface class, which is a
simple wrapper around an ON_Surface designed to allow the
evaluation functions to be called, so that we can use the
ON_Surface calculations directly to lift a uv curve onto
the surface. 2005/07/14.
- Added a surface type to the enum to allow for non-core
surface types -- either translator specific or created by
an end user. 2005/07/14.
- openNURBS: Undo the incorrect fix of the closed edge curve
problem recently checked in. If the edge is closed, then
we cannot rely on the 3D curve because of uncertain
orientation -- period. 2005/07/13.
- Cleaned up nurbs.h include. 2005/07/13.
- file HwNurbsHeaderWrapper.h was initially added on branch
HWLibs_1_5_stable. 2005/07/13.
- Switch from including nurbs.h to HwNurbsHeaderWrapper.h.
2005/07/13.
- Made wrapper header to handle in one place all the tangled
#define problems involving nurbs.h. 2005/07/13.
- openNURBS: When closing an ONX_Model_Wrapper, don't call
Destroy on the ONX_Model member unless it is non-null.
2005/07/13.
- Properly copy the attributes when you make a copy of an
HwNlibAnnotation object. 2005/07/09.
- Add experimental annotation handling code, intended
primarily for XXX's amusement for now. 2005/07/09.
- CATIA5: Analyze some more drawing stuff in the annotations.
2005/07/08.
- HwBuild: Make nmtlib and smlib packages. 2005/07/07.
- HwBuild: Upgrade to faciliate debug versus release
versions, and the smarts to make the SMLib build work that
way. 2005/07/07.
- Add HwNlibAnnotationText::MakeCopy and use it as needed in
the HwNlibAnnotation::Set function. 2005/07/06.
- CATIA5: Use the new annotation text object. 2005/07/06.
- Switch HwNlibAnnotation from using strings for its text
fields to using a new HwNlibAnnotationText object (which
has lots of extra goodies). 2005/07/06.
- When converting an IwBrep to an HwNlibAbstractSolid, only
convert the attributes on it once. 2005/07/05.
- openNURBS: Adds code for directly processing surfaces of
revolution, but keep it turned off for now, as it seems to
have some problems. Smarter code for deciding when to use
3D edges and when to use the 2D curve lifted to the
surface. 2005/07/05.
- Change the edgeuse fixup for the same orientation case.
(Fixes one major crash, doesn't seem to hurt anything
else.) 2005/06/29.
- Plugged memory leak. 2005/06/27.
- CATIA5: Add name to HwNlibAnnotation objects. (Duh.)
2005/06/23.
- CATIA5: Deal with type and associated FDTs for annotations.
2005/06/23.
- Add type and associated FDTs fields to HwNlibAnnotation.
2005/06/23.
- CATIA5: Print out the tolerance modifier information.
2005/06/23.
- CATIA5: FDT associated FDTs dumped. 2005/06/23.
- Add anchor point as point to annotation debug info.
2005/06/23.
- CATIA5: Add anchor points to FDT annotation, and try to
draw the resulting info as straight line segments.
2005/06/23.
- Add anchor points to FDT annotation, and try to draw the
resulting info as straight line segments. 2005/06/23.
- Add anchor points to HwNlibAnnotation class. 2005/06/23.
- Use the proper (if unnecessary) include shields for the
functions we cannot export. 2005/06/22.
- DATAKIT: Added offset surface function for DATAKIT.
2005/06/18.
- CATIA5: Refactor name code, add it to coordinate system and
infinite plane code. 2005/06/17.
- DATAKIT: Translate infinite planes to coordinate systems
with plane display sizes. 2005/06/17.
- Report plane display size attribute. 2005/06/17.
- Provide a way of getting at the data in an
HwNlibAnnotation. 2005/06/17.
- Actually return the copied annotation in
HwNlibAnnotation::MakeCopy. 2005/06/17.
- Annotation support. 2005/06/17.
- Add annotation type to message logging. 2005/06/17.
- Add PassAnnotation function. 2005/06/17.
- Added HwNlibAnnotation to the import interface. 2005/06/17.
- CATIA5: Start to code in use of HwNlibAnnotation type.
2005/06/16.
- CATIA5: More FDT development stuff. 2005/06/16.
- Added skeleton of HwNlibAnnotation type. 2005/06/16.
- We had a delete statement that patched a memory leak in
NMTLib. SOLIDS++ 2.1 fixes that memory leak, so we added a
#if so our patch will no longer be used for SOLIDS++ 2.1
and above. 2005/06/16.
- CATIA5: Further FDT experiments. 2005/06/15.
- CATIA5: More code to dump out FDT data. 2005/06/14.
- Try to make SplitAtSeams more robust when dealing with
B-reps with more than one face. 2005/06/13.
- CATIA5: More FDT stuff. 2005/06/13.
- CATIA5: Start unravelling the data in the FDT structure,
with its name and running through the list of 2D entities
looking for text. 2005/06/13.
- CATIA5: Add in feature stubs, and print the type of each
FDT annotation. 2005/06/13.
- CATIA5: Go through the FDT entities in the file, just to
see what is there. 2005/06/13.
- Handle attempts to find the bounding box of 3d trimmed
curves whose base curve is also a 3d trimmed curve.
2005/06/12.
- During a fillet, generate the UV curves by intersecting if
either of the drop operations generated more than one UV
curve (as if there is more than one, there's no way to know
what it goes with otherwise). 2005/06/12.
- Check for invalid surfaces before filleting -- prevents a
crash. 2005/06/11.
- Fillet cleanup done. (For now, anyway.) 2005/06/09.
- If more than one pair of uv curves has been created during
the fillet process, just create a fillet surface for each
and let the code further down the line sort out which we
are actually interested in. 2005/06/09.
- Cleaned up a bunch of stuff. 2005/06/09.
- Memory leaks fixed. 2005/06/09.
- Clean up the fillet code a bit. 2005/06/09.
- Add some relaxed tolerance fixes. 2005/06/08.
- If a surface to be filleted has a B-rep owner already, use
that as the IwFace rather than trying to create a new
IwFace. 2005/06/08.
- STEP: Simplify unit exporting code (reusing the code in
HwTranslatorGeneric!). 2005/06/08.
- Wrappers based on NMTLib version. 2005/05/31.
- DATAKIT: Fixed to work with new DATAKIT libraries. (UG now
fails with crash.) 2005/05/31.
- SAT: Dodge silly infinite loop in wire on ASM Acis 7.0
file. 2005/05/30.
- Tweak to improve 3d trimmed curve creation. 2005/05/28.
- Parasolid: Try to find the simplest pcurve to use, rather
than just the first handy one. 2005/05/28.
- Parasolid: Tweaks to TSLibNlibObject, start refactoring Fin
p-curve creation code. 2005/05/26.
- Reduced number of sections to something sane. 2005/05/26.
- Fixed linux compiling bug in new code. 2005/05/26.
- Instead of reversing the surface normal if the fillet
cannot be done, switch the fillet offset direction. Report
a informational error in the process. 2005/05/26.
- Lots of blend surface changes. Nothing quite works
properly yet. 2005/05/26.
- Intersection code now has flag saying whether to include
the part of the chart which is only on one of the surfaces.
2005/05/26.
- Don't send rails to skin surface code (in cliff-edge), they
weren't helping at all. 2005/05/26.
- Cliff edge halfway hooked up. 2005/05/26.
- Intersection fixes. 2005/05/25.
- Tweaked debug code a bit in intersection curve code.
2005/05/25.
- Don't signal an error if the intersection point generated
is too close to an existing point -- just quietly drop it.
2005/05/25.
- During improved intersection curve code, don't add
duplicate points to the chart, don't include one wrong
point as correct, and error out if there are no good
points. 2005/05/25.
- Generalize the last patch to make it handle cases with more
than one point off one of the surfaces. 2005/05/25.
- When doing an intersection curve, if the first (or last)
chart point isn't actually on both surfaces, intersect the
edges of the surface that isn't big enough with the surface
that is, and use the "best" intersection point instead of
the incorrect chart point. 2005/05/25.
- Add endpoints to cliff-edge debugging info. 2005/05/24.
- Rework debugging, add error to inform when we have dropped
chart points from an intersection curve. 2005/05/24.
- Rework debugging, add error to inform when we have dropped
chart points from an intersection curve. 2005/05/24.
- Cleaned up offset surfaces a bit more. 2005/05/24.
- When constructing an IwOffsetSurface, take care to make
sure it is not a double-offset surface. 2005/05/24.
- Set global units on blend surface debugging output in a
fashion much more useful for Parasolid. 2005/05/24.
- If there's a problem dropping the spine, go back to the old
method. 2005/05/24.
- Added (turned off) fillet debugging code. More
importantly, if the spine of a fillet is available, use
that as the start of the fillet rather than trying to
recalculate it by intersecting offset surfaces. 2005/05/24.
- Parasolid: Changes to allow examination of what is in a
HwParasolidData object. Use that to make extract bit
smarter. 2005/05/24.
- Parasolid: Rearrange things to make it easier to add more
rules, plus copy over the NULL object which ends the file.
2005/05/23.
- Parasolid: Null out the various face linked lists, so that
this is the only face we care about. 2005/05/23.
- Parasolid: For the various Set functions on
HwParasolidDataMap, check the incoming string with HwStdSER
(so it can be called with raw char *s). 2005/05/23.
- Parasolid: Allow the retrieval of the "schema string" (eg
"SCH_100000_10000") and allow a blank Parasolid file to set
a schema using one. 2005/05/23.
- Parasolid: Add MakeCopy interface and functions to
HwParasolidDatum and HwParasolidData. 2005/05/23.
- Parasolid: Final changes needed to get an exact match for
the first Parasolid file round tripped through it. (In the
body, header still skipped.) 2005/05/22.
- Parasolid: More writing updates. 2005/05/22.
- Parasolid: More updates for low-level writing code.
2005/05/22.
- Parasolid: First stab at making Parasolid export work.
2005/05/21.
- Parasolid: For the write functions, pass home-grown classes
by const reference. 2005/05/21.
- Previously, when sorting out loops, we had two types, inner
and outer. If the counts were wrong in certain ways, we
used this info to flip the face's surface's orientation,
switch outer and inner loops. This, however, did not
recognize that inner loops which are not closed (ie slits)
always register as inner loops no matter what the surface
orientation is, and always should be inner loops. So now
we treat them separately, making the code just a bit
smarter. 2005/05/19.
- Tolerance tweaks to hyperbolic surface code. 2005/05/17.
- Tweak the tolerance tests on hyperbolic surface creation.
2005/05/17.
- openNURBS: Fix a couple of stupid C++ errors to make the
new assembly generating code actually get past stage one.
2005/05/17.
- openNURBS: Trap error to prevent a crash when we hit a bad
assembly. 2005/05/16.
- Actually hook up the top-level stand alone object passing
using the old PassObject interface we had sitting around.
2005/05/16.
- openNURBS: Actually call
HwBuildingOperations::FinishOperations. 2005/05/16.
- Fix use of "interface" as a variable name, which as always
conflicts with Microsoft headers. (Sigh.) 2005/05/16.
- When we need a random ID, use HwNoIdentifer. (We used to
use a fake IGES ID, but that doesn't work if we're not
linking in IGES!) 2005/05/12.
- openNURBS: More tweaks to new structure. Lots more work to
be done. 2005/05/12.
- HwBuild: Include HwSolidWorks.h in the list of SolidWorks
files. 2005/05/12.
- Tiny clean up. 2005/05/12.
- Proper HW_NO_TSLIB_ASSEMBLIES wrapper for compiling with
old NMTLib. 2005/05/12.
- Add HwHeaderInfo argument to find tolerance. 2005/05/12.
- Patch exporting translators to use the following approach
to determine tolerance: 1) Look for tolerance in
HwExportOptions argument. 2) Look for tolerance in
HwHeaderInfo argument. 3) Scan all the objects passed to
it which contain tolerances. 4) Fall back on the default
for the translator (probably unimportant anyway, because
this can only happen if there are no IwBreps present).
2005/05/12.
- In the FindTolerance routine, once you've gone through the
trouble of finding the tolerance from the IwBrep data
passed in, actually use it. 2005/05/11.
- Changes to make things compile on the old VC++ with
cranky old SMLib. 2005/05/11.
- Parasolid: Cone parameterization patch from maintenance
branch. Not nearly enough to make cones actually work
properly. 2005/05/11.
- SolidWorks: When constructing an assembly, trap errors
returned from the ReadConfiguration call and log them to
the message file. 2005/05/11.
- Parasolid: Improve the parameterization of cone surfaces.
(Note -- there is some, albeit confusing, evidence the cone
surface definition may be entirely wrong for Parasolid.
However, we have not been able to come up with a correct
one, and this is definitely needed in one form or another.)
2005/05/11.
- SolidWorks: Update so the SolidWorks license key is
provided as an option rather than being embedded in the
code. 2005/05/09.
- STEP: Fixed a logic error, where we created a valid closed
shell and then later rejected it because it wasn't open,
with the assumption that meant it was empty. Now we
actaully check to see if it is empty! 2005/05/07.
- Add newer TSLib error messages to Nlib-only section of
code. 2005/05/06.
- Move the tesselation parameters in
HwPolygonExportingReceptacle to "protected" status, so they
can be manipulated by derived classes. 2005/05/06.
- Turn off the UV/3D mismatch warning error, as we found
apparently valid instances where it would give warnings.
2005/05/06.
- Added HwCoordinateSystem::SetSystemRMatrix function, which
sets a system and returns scale and mirror information at
the same time. 2005/05/06.
- STEP: When adding a usage name to a component (presuambly
an assembly instance), overwrite the component's existing
name if it has one. 2005/05/05.
- Automatically detect duplicate attribute types on the same
linked list (in debug mode), and report it with a "warning"
error message. 2005/05/05.
- STEP: If the "name" string on an object is just a
reiteration of the object's internal STEP ID, ignore it.
2005/05/04.
- Add new HwTrimWithDomain function which duplicates the
functionality of IwBSplineSurface::TrimWithDomain for
customers who do not have Basic Nlib. 2005/05/04.
- Factored code to adjust UV extent to knot vector to
HwAdjustParametersIfNearKnot. Used that as a core piece of
a new HwTrimWithDomain function, which does the same thing
as IwBSplineSurface::TrimWithDomain, but works without
Basic Nlib. 2005/05/04.
- Parasolid: Change the simple concept of (schema) version
number into modeller and schema version numbers. Switch
several of the checks to be based on modeller version
number rather than schema version number. 2005/04/29.
- Parasolid: Testing of a new file suggests that two changes
we thought switched in at schema 14000 actually switch in
at schema 14001. 2005/04/29.
- SolidWorks: Additional safety check in the form of an
HW_SER_ASSERT. 2005/04/26.
- SolidWorks: When opening a file, check the error code to
see if it opened properly. 2005/04/26.
- More HwStdVector template pre-declaration
to HwStdVector.h (now that we no longer need the definition
of HwNlibObject to do it). 2005/04/26.
- HwNlibIgesCollection::MakeCopy and
HwNlibVdafsCollection::MakeCopy were relying on their
respective versions of IsOkay, which we took away in the
last change. This fixes it so they just work. 2005/04/26.
- Removed HwNlibObject::IsOkay and all of the derived class
versions of it; they were completely useless, as far as I
could tell. 2005/04/25.
- Move HwStdVector pre-declaration to
HwStdVector.h. 2005/04/25.
- Version numbers updated for maintenance branch, STEP bug
fixed, StepTo3dm demo period extended. 2005/04/24.
- STEP: Cleaned up debugging code so it compiles in modern
environment again. 2005/04/23.
- STEP: Actually, you do have to scale coordinate system's
origins. Put that back in. 2005/04/19.
Changes for IGES 1.5.5/VDAFS 1.3.9/STEP 1.2.5/SAT 1.1.0/OpenNurbs 1.1.0/Parasolid 0.5.2/DATAKIT-CATIA 0.5.3/DATAKIT-CATIA5 0.5.2/DATAKIT-UG 0.4.2 |
|
- Turn off TSLib assemblies (due to major memory leak).
2005/04/16.
- IGES: Allow illegal negative values to be read into the
note entity without complaint. (since we just ignore the
value anyway!) 2005/04/12.
- IGES: If we are unable to read a note, issue an error
message and continue reading notes. 2005/04/12.
- Attempt at better automatic tolerance adjustment.
2005/04/11.
- DATAKIT: Support vertex loops. 2005/04/11.
- UG: Properly include the transformation for the X_B files
read in. 2005/04/08.
- HwBuild: Add error define files. 2005/04/06.
- Now that we've sorted out the error message definitions,
use the new code to replace the old one. 2005/04/06.
- Make one list of error defines. 2005/04/06.
- Actually hook up the polygon export versions of Start and
End for IwAssemblyInstance. 2005/04/06.
- Rearrange last change to pass IwAssemblyInstance pointers
rather than strings. Add simple PassAssemblyInstance
definition to HwPolygonExportingReceptacle. 2005/04/06.
- Add HwTSLibAssemblyEntityReceptacle::StartAssembly and
HwTSLibAssemblyEntityReceptacle::EndAssembly interface
functions (with do nothing default implementations), and
call them when disassembling TSLib assemblies. 2005/04/06.
- Fix minor memory leak from WAAAAAAY back. (2000, maybe?)
2005/03/30.
- CATIA5: Try to factor in scaling. (Don't know if we have a
useful test for this.) 2005/03/30.
- DATAKIT: Move ConvertSystem from private to public.
2005/03/30.
- CATIA5: Factor in the matrix when processing shells.
2005/03/30.
- DATAKIT: Actually assign a value to the mirror return value
in ConvertSystem. 2005/03/30.
- Plug several blend-related memory leaks. 2005/03/29.
- Incorporate a version of N_conci2 into HwNlibCurve.cpp, so
we can use it consistently in all possible Nlib
configurations. 2005/03/28.
- Plug a memory leak in the blend surface curve on surface
code. 2005/03/25.
- More tweaks to the orientation of blend surface edge curves
-- this one attempts to notice when the curve has been
reversed, and reverse the resulting curve we generate.
However, the patch is actually a bit weirder than that --
but tests show this version works better. 2005/03/23.
- Parasolid: Allow '?' to indicate an unset (infinite?)
interval. This is not in the Parasolid specs, but we've
got a real file which demonstrates it. 2005/03/23.
- Parasolid: Catch IwStatus to prevent a run-away file read
error. 2005/03/23.
- Enhanced fillet debugging tools. 2005/03/21.
- Check to see if the direction of the IW blend surface goes
the same direction the Parasolid (or other) blend surface
did. 2005/03/20.
- Add optional spine parameter to HwNlibBlendSurface.
Actually give it a value in the Parasolid version.
2005/03/20.
- Switch the orientation of the blend surface edge curve to
match the natural direction of the outer bounding loop of
the blend surface. 2005/03/19.
- Only use the blend fudge factor if the blend surface is
infinite -- if it is finite, we can just use the usual
GetMinMaxBox on it. 2005/03/19.
- Another ExpandBoxAbsolute. 2005/03/19.
- If a trimmed curve on blend has identical end points,
assume it is a closed blend surface and take an iso-curve
of it's entire width. 2005/03/18.
- Change ExpandBox into ExpandBoxRelative (takes a
percentage) and ExpandBoxAbsolute (takes a distance), then
figured out which usage of ExpandBox should go where.
2005/03/18.
- CATIA: Add warning message. 2005/03/18.
- Use ExpandBox where it is useful. 2005/03/18.
- Check in more blend debugging code (all turned off).
2005/03/18.
- When creating a blend surface, try to bind two component
surfaces so they are not infinite. Do this by trying to
get a reasonable bounding box for their intersection. At
the moment, handle the case where one is finite, and the
case where one is a tabulated cylinder and the other a
plane. 2005/03/18.
- Improved IsClosed functions for the wrapper surfaces.
2005/03/16.
- CATIA: #if out debugging code (so it will compile on older
versions). 2005/03/16.
- CATIA: fixed the piping surface so it works correctly if
the ends are have different radii. 2005/03/15.
- CATIA: Improved piping using the HwNlibPipeSurface object.
(Not everything it should bew yet, however.) 2005/03/15.
- Send time at beginning of HwMessageLogger log file.
2005/03/15.
- Move parameter clamping from last change so that it works
better. 2005/03/14.
- Clamp parameters returned by curve intersect to the
parameter range of the appropriate curve (because SMLib
cannot be trusted to return valid values). 2005/03/11.
- Include HwNlibIO.o in hw_dump. 2005/03/10.
- Replaced call to IwCurve::CalculateBoundingBox with inline
version of same function which doesn't have slop factor
added. 2005/03/10.
- When trying to decide if the inner loop is really the
outer, look at the size of their bounding boxes in both U &
V rather than just comparing the areas of the bounding
boxes. 2005/03/10.
- Unitize calculated y_axis before sending it to
IwAxis2Placement::SetCannonical so it is Just Right.
2005/03/09.
- Proper HwLowLevelAsciiOutput option template declaration.
2005/03/08.
- CATIA: Made debugging code smarter. 2005/03/08.
- SAT: Write number of records in the file. 2005/03/08.
- openNURBS: Add HwOnxModelWrapper so that you can make an
ONX_Model outside of the HW OpenNurbs DLL. 2005/03/08.
- Instead of making tesselations which produce non-triangles
fail, just record an error and otherwise pretend everything
is okay-dokey. 2005/03/07.
- Instead of using IwBSplineCurve::CalculateBoundingBox to
figure out the approximate size of a UV trimming loop, use
IwCurve::CalculateBoundingBox, which is much more accurate,
if slower. 2005/03/07.
- Add IW_ERR_FORCED_TO_FLIP_SURFACE_ORIENTATION error
message, and use it to signal problems which force us to
flip the surface normal orientation on surfaces which are
supposed to already have the correct orientation.
2005/03/05.
- SAT: Add support for AutoDesk "truecolor" attribute.
2005/03/04.
- Detect and error-out cliff edge blends. 2005/03/04.
- Parasolid: Proper (?) support for cliff-edge blends. (At
the low-level only, see next.) 2005/03/04.
- Extend HwNlibBlendSurface to support cliff edge blends (by
adding a flag). 2005/03/04.
- Enable the new Nlib debugging interface from HwTSLibIO.cpp.
(Which may seem a big backwards, but will be most useful
for our general use, I think.) 2005/03/01.
- SAT: Bring in line with new SAT export option handling.
2005/03/01.
- SAT: Improved export option handling. 2005/03/01.
- SAT: Add version of HwSatStandardASCIIOutput::Open which
takes an HwExportOption, so it can output to a receptacle
class rather than a file if needed, based on the
HwExportOption::output_target option. 2005/03/01.
- Add output_target option to HwExportOptions. 2005/03/01.
- Abstract interface for ascii output (duplicates the
existing ascii input setup). 2005/02/28.
- New version of static function DropPoint which allows us to
avoid annoying error messages during correct behavior of
code. 2005/02/28.
- Use circular approximation for fillets -- more robust than
pure rational arcs. (Also debugging code added, turned
off.) 2005/02/28.
- Correct patch intended to make sure the error logging code
only appeared on modern versions of SMLib -- because we
accidentally used IW_VERSION instead of IW_VERSION_NUMBER,
it was never appearing at all! 2005/02/28.
- CATIA5: Started to implement visibility flag, only to
discover it doesn't actually work in DATAKIT's library yet.
2005/02/28.
- Don't call HW_FAILURE if there are seemingly irrational
mismatches between distance in 2d and and distance in 3d;
in theory, they can be caused if one of the distances
involved is so close to zero that squaring it suffers
underflow. In practice, odds are against this happening,
but what the hey, the code should recognize the fact it
might happen. 2005/02/27.
- CATIA: Use the proper info for pipe surfaces. 2005/02/26.
- DATAKIT: Only add a name attribute if there is a non-zero
length name present in the infos. 2005/02/25.
- Make recent changes work with old SMLib. 2005/02/24.
- SAT: Create code ASM to check Autodesk Shape Manager flag,
and use it to handle the branching of the SAT format.
2005/02/24.
- SAT: Support for Autodesk Shape Manager flag (SAT version
greater than 20000). 2005/02/24.
- When working on correcting the order of loops (so the
orientation is assumed to be correct), if there is exactly
one inner and one outer loop, check to see which of the two
loops is bigger in UV space, and flip the normals, if
necessary, to make that the outer loop. 2005/02/16.
- DATAKIT: Move the direct rational b-spline conversion code
from private to public so the Catia 4 translator can use it
for pipe surfaces. 2005/02/16.
- CATIA: Add support for pipe surfaces. 2005/02/16.
- Fixed stupid typo which meant we never considered the
distance to the second surface when finding a starting
point. 2005/02/15.
- If the initial points given aren't within tolerance of the
surfaces, bump tolerance so they are. (Because if it's
something like a blend surface that we had to construct,
our version may be ever-so-slightly off from the Parasolid
version.) 2005/02/15.
- Make the code to find an intersection starting point
smarter, so that it doesn't get confused by points on
opposite sides of a seam. 2005/02/14.
- CATIA5: Add names for curves and points. 2005/02/14.
- Implement HwNlibBlendSurface::IsClosed to override the
default implmentation (which will never work because we
cannot create a NURBS surface for a blend sur.) 2005/02/14.
- Replace the old intersection curve code with new code that
uses IntersectSurfacesToGetCurve. 2005/02/14.
- Rename the surface-surface to curve intersection function
and make it actually generate a curve! 2005/02/14.
- Add GetDebuggingCadExportInterface to let other files
access the export function (if available). 2005/02/13.
- When finding a bounding box to bind infinite surfaces in an
intersection curve, include a fudge factor equal to the max
distance between chart points. 2005/02/13.
- Prototypes IntersectCurve function. 2005/02/13.
- More sophisticated attempt at IntersectionCurves. Still
doesn't work completely. 2005/02/13.
- Eliminated spurious comma in HwNlibCurveMinorType enum.
Added declaration of HwCoordinateSystem class so you can
include HwTSLibGeneric.h without first including
HwNlibObject.h. 2005/02/09.
- DATAKIT: Factor AddIdToObject to a template which tells
what sort of ID to add, commenting out the two old
translator-specific versions of this function. 2005/02/08.
- Dump layer name info from HwHeaderInfo. 2005/02/08.
- Add facilities to copy HwLayerInfo objects, and do so when
copying a HwHeaderInfo. Plus allow iteration through all
the layers in a header. 2005/02/08.
- UG: Support latest DATAKIT libs. 2005/02/08.
- CATIA: Update to work with latest DATAKIT release.
2005/02/08.
- Derive HwLayerInfo from HwNewDelete so it can properly be
allocated and deleted across DLL boundaries. 2005/02/08.
- CATIA5: Update for latest release of DATAKIT. Support body
names. 2005/02/08.
- openNURBS: Add layer name info to the header. 2005/02/08.
- Add HwLayerInfo class, and interface for it to the
HwHeaderInfo. This is preliminary. 2005/02/08.
- DATAKIT: First step to fix IwContext bug. 2005/02/07.
- DATAKIT: Don't allow really big points. 2005/02/07.
- Much smarter version of GetStaringPoint. 2005/02/07.
- Rough intersection curves now created. 2005/02/07.
- First working test of ability to find an intersection point
between two intersections points. 2005/02/07.
- Modified to work with dumb old SOLIDS++. 2005/02/07.
- First stab at surface-surface intersection tools.
2005/02/07.
- DATAKIT: Normalize the direction vector for surfaces of
linear extrusion. (Not sure exactly why math-wise, but
this makes them work 1000% better.) 2005/02/04.
- CATIA5: Set tolerance to official Catia 5 value, and add
comment noting that MM is correct for the units and not
just a guess. 2005/02/03.
- In AdjustBrepTolerance, try to adjust the tolerance of the
edges if needed/possible. 2005/02/02.
- SolidWorks: Name components included as assemblies for the
file name of the component. 2005/02/02.
- Refactor BindInfiniteFace to clean up the logic, and make
it a bit smarter about handling curves on blend surfaces.
2005/02/01.
- If something goes wrong aligning a sphere or a torus, abort
the align rather than the entire creation of the face
involved. 2005/02/01.
- Provide a (tight) tolerance for surface-to-surface
intersections. This seems to make them work much better.
2005/02/01.
- Add ability to evaluate offset surfaces (if the base
surface can evaluate derivatives). 2005/02/01.
- If there are no intersections found between two surfaces,
error out right away instead of wasting time trying to sort
non-existance intersections. 2005/01/31.
- For the TSLib import functions, invoke a TSLib function so
we can odd TSLib error message reporting to the logger
file. 2005/01/31.
- Parasolid: Detect and reject cliff edge blends. 2005/01/31.
- Parasolid: Minor tweaks to debugging code. 2005/01/31.
- Use the new callback mechanism to establish the general I/O
function as the function to use for debugging export.
2005/01/31.
- Add callback mechanism to allow CAD file export from
debugging sections of code in the core module. 2005/01/31.
- Slightly better error message in blend surface
construction. 2005/01/28.
- Parasolid: Slight fix in debugging tools. 2005/01/28.
- When processing an intersection curve, stick its endpoints
into p_current_vertices so that if one of the surfaces
being intersected is a blend/fillet with multiple pieces,
we can choose the right piece to use for the intersection.
2005/01/28.
- Add tool for analyzing the structure of a Parasolid file.
2005/01/27.
- Parasolid: Add tool for analyzing the structure of a
Parasolid file. 2005/01/27.
- Parasolid: Blend bounds plus Parasolid file node iterator
type and Begin/End functions. 2005/01/27.
- Parasolid: First stab at blend_bound support. Plus new
(commented out) face name debugging tool. 2005/01/27.
- Parasolid: Try to clean up the Parasolid shell processing a
tad. Still very stupid, alas. 2005/01/26.
- Parasolid: Reparameterize cylinders to use radians rather
than degrees. 2005/01/26.
- Include IwExtent2d.h before IwBrepData.h for old versions
of SMLib. 2005/01/26.
- SolidWorks: Factor ISwDMApplication acquisition into a new
HwNlibSolidWorks::Initialize function. (Eventually
HwNlibSolidWorks should clean up whatever needs to be
cleaned up there as well.) 2005/01/26.
- Parasolid: Add BCurve handler for GetPointOnCurve.
2005/01/26.
- DATAKIT: Remove use of "vector" as a variable name so the
VC++6 wouldn't complain. (Possibly it was confusing it with
std::vector?) 2005/01/26.
- Removed "unsigned int i" declaration from for loop (because
it's not compatiable with older compilers). 2005/01/26.
- Change HwGetExtension to HwGetExtensionLC (which returns
the lower-case version of the extension). 2005/01/26.
- SolidWorks: Actually store assemblies and reuse them in the
same component in the same configuration is requested
again. 2005/01/26.
- SolidWorks: Refactor assembly creation code. 2005/01/25.
- SolidWorks: Add the proper transforms to assemblies.
2005/01/25.
- SolidWorks: Massive rewrite to bring in assembly support.
2005/01/25.
- HwNlibAssembly::AddCopyOfObject function added. 2005/01/25.
- SolidWorks: Start to implement assemblies. 2005/01/25.
- Allow .sldasm extension for SolidWorks. 2005/01/25.
- SolidWorks: Factor check for results of attempting to get a
body. 2005/01/25.
- SolidWorks: A bit more refactoring. 2005/01/25.
- SolidWorks: Prep for assembly support -- create
HwNlibImportToAssembly class and factor
HwSolidWorksSendToInterface into a class framework.
2005/01/25.
- STEP: Make GetName handle shape representations. When
processing a mapped item, if there is no name on the mapped
item object, add the name of the item being mapped, unless
that item is an assembly containing exactly one object,
whose name already is the name we would otherwise add.
2005/01/25.
- SolidWorks: Fix potential null pointer reference.
2005/01/25.
- SolidWorks: Use an adaptor to add owning IDs to the
Parasolid IDs created, so that each Parasolid file
processed during a SolidWorks read will get unique IDs.
2005/01/25.
- Parasolid: Add tolerance support for WORLD files.
2005/01/25.
- SolidWorks: Use real filenames instead of tmpnams (for
debugging purposes) and check to see if a body was written
out before trying to read it in. 2005/01/25.
- SolidWorks: Use tmpnam to make temporary files for both
other modes of operation as well. 2005/01/24.
- Parasolid: Tweak for compatibility with stupid Windows
headers. 2005/01/24.
- SolidWorks: Transfer old-style part to Parasolid
filereader. 2005/01/24.
- SolidWorks: Fixes to make SolidWorks build and plug into
hw_dump/hw_convert. 2005/01/24.
- SolidWorks: Version number added. 2005/01/24.
- SolidWorks: First version. 2005/01/24.
- SolidWorks: Get it to compile and link. 2005/01/24.
- SolidWorks: Check in initial work. 2005/01/24.
- Parasolid: Fix HwParasolidLinkedListIterator::Next to avoid
spurious error messages when the linked list is empty.
2005/01/24.
- Parasolid: Try to handle assemblies in WORLD as well. (No
sample files to test so far.) 2005/01/24.
- Parasolid: First stab at processing WORLD object.
2005/01/24.
- Parasolid: Count all the bodies in a WORLD object.
2005/01/24.
- Add Parasolid partition file extensions. 2005/01/24.
- Parasolid: Check to see if a header is present before
trying to read it. This allows us to read headerless
Parasolid files. 2005/01/24.
- SAT: Each sweepsur contains a spline_info member with
B-spline info for the surface in it. A bug made us only
pay attention to this in versions 5.0 and up. Fix it so it
pays attention in previous versions as well. 2005/01/21.
- Parasolid: Try to determine whether we're on a
little-endian or big-endian system when reading binary
files. 2005/01/19.
- Took out now-unneeded includes. 2005/01/19.
- Switch hw_convert -nlib -class to use HwNlibIO code.
2005/01/19.
- New aid for generic low-level exporting. 2005/01/19.
- SAT: Added new HwNlibSatCreator constructor which takes a
HwExportOptions object rather than a version number, then
extracts the version number from the object. 2005/01/19.
Changes for IGES 1.5.4/VDAFS 1.3.8/STEP 1.2.4/SAT 1.0.9/OpenNurbs 1.0.9/Parasolid 0.5.1/DATAKIT-CATIA 0.5.2/DATAKIT-CATIA5 0.5.1/DATAKIT-UG 0.4.1 |
|
- openNURBS: Takes all the openNURBS stuff from HwOpenNurbs
files (leaving the version number and ID class only).
2005/01/11.
- Before determining filetype, run HwStdSER on the filename
(in case someone passed in a standard char *). 2005/01/10.
- DATAKIT: Switch the normal orientation of surfaces of
revolution. (Based on experimental evidence.) 2005/01/07.
- CATIA5: Support coordinate system creation. 2005/01/03.
- Lots of changes (mostly #ifdef wrappers) to accommodate
very old TSLibs. 2004/12/28.
- Add function to copy IwCurves, to ease dealing with antique
TSLib code. 2004/12/28.
- UG: Updated to handle flow-control and error-handling
better on UG B-reps/shells. 2004/12/27.
- Fine-tuned the IsLine #if wrapper a bit. 2004/12/23.
- CATIA5: If something goes wrong with the fancy new topology
code, fall back to the old trimmed surface code.
2004/12/23.
- DATAKIT: Try to detect that the topology of a shell is
failing -- the only cause we know for this so far are
pre-v7 CATIA 5 files. 2004/12/23.
- Old Catia5 file error added to error list. 2004/12/23.
- DATAKIT: Better error messages, lots of commented out
debugging code. 2004/12/22.
- Don't use the new HW sweep surface code unless Nlib sweep
surface is not available. 2004/12/21.
- Actually use the dimension argument to the create curve
function, rather than just always creating a 3D curve.
2004/12/20.
- MakeSweepSurface comes alive. 2004/12/20.
- Added HwShieldedPointerVector template to be the vector's
answer to auto_ptr. 2004/12/19.
- Remove unnecessary BindInfiniteFace call, plus tweaks for
compatiability with old TSLib. 2004/12/18.
- IGES, Parasolid, SAT, STEP: Since AddNewFace now handles
infinite faces properly, remove the old BindInfiniteFace
calls. 2004/12/18.
- CATIA5: Try to skip infinite planes. 2004/12/17.
- DATAKIT: Added support for planes, fixed a stupid bug in
the new code. 2004/12/17.
- AddFace automatically binds infinite surfaces if needed.
2004/12/17.
- CATIA5: Rewritten to support topology instead of just
trimmed surface geometry. 2004/12/17.
- DATAKIT: There's more than one way to do it -- support for
Dtk_shell class of solid info. 2004/12/17.
- openNURBS: Actually use the new SortShellsIntoSolid
refactoring. 2004/12/17.
- Implemented SortShellsIntoSolid using code from the
openNURBS translator. Still calls for lots of improvement,
but at least now it's generic between translators.
2004/12/17.
- If IW_PTR_ARRAY isn't already defined (probably because
we're compiling against headers from a very old TSLib)
define it here with the standard definition. 2004/12/16.
- DATAKIT: Added support file from DATAKIT. 2004/12/16.
- CATIA5: Updated to work with new DATAKIT libraries.
2004/12/15.
- IGES: Check to see if the end parameters are reversed in a
126 NURBS curve, and reverse the parameters and then the
curve if they are. 2004/12/13.
- Add Nlib errors to HarmonyWare IW_ERR list, provide text
explanations for them, and update Gw_SER to automatically
use them. 2004/12/12.
- STEP: Enable parabola curve type. 2004/12/09.
- Add HwNlibParabola class. 2004/12/09.
- STEP: Create a new GetConic function that gets a working
coordinate system from the conic base object (a subclass of
circle, parabola, etc), and convert the various GetCircle,
GetHyperbola, etc functions to use GetConic. Also add a
GetParabola function. 2004/12/09.
- DATAKIT: Change to use updated MakeSTEPCircle interface.
2004/12/09.
- Change MakeSTEPCircle to take a coordinate system object
rather than a point and two vectors. 2004/12/09.
- Parasolid: Get tolerance from the top item in the model.
2004/12/09.
- Add new function to convert from HwCoordinateSystem to
IwAxis2Placement. Large swept surface debugging section
added, but turned off. 2004/12/09.
- Parasolid: Mark all the older Parasolid files as requiring
the mystery value always equal to zero to be an int rather
than a short int. 2004/12/07.
- Parasolid: Count B-reps and faces in the file before import
starts. 2004/12/07.
- Parasolid: Replace other instances of linked list loop code
with new iterator. 2004/12/07.
- Parasolid: Implement HwParasolidLinkedListIterator class,
to aid going through all the linked lists in Parasolid
files. Use it in the assembly class. 2004/12/07.
- Add GetBaseSurface to go with GetBaseType, and refactor
GetBaseType to use it. 2004/12/06.
- Make a new header to handle common TSLib declarations, so
we don't get looped trying to include them. 2004/12/06.
- Parasolid: Allow non-attribute types in an attribute chain.
(Apparently features and members of features can be in the
chains too. Don't know what to do with them, but we
certainly can skip them and continue going through the
chain.) 2004/12/06.
- Parasolid: Adjust binary format based on third binary
sample file. 2004/12/06.
- Plug memory leak in new exploded B-rep code. 2004/12/05.
- Removed a (already turned-off) block of code intended to
delete control characters from the start of lines; the new
code for deleting them from the end of lines should handle
things nicely. 2004/12/05.
- Retool the system for handling weird end-of-line control
sequences when reading 80-column files (ie IGES and
VDA-FS). The new system expands upon the old code we had
to handle Macs -- now if it detects multiple end-of-line
control characters in a row when scanning the beginning of
the file, it automatically reads all the \r's and \n's at
the end of lines until it encounters a non-control
character. 2004/12/04.
- DATAKIT: Implemented offset surfaces. 2004/12/03.
- DATAKIT: Add ruled surfaces, clean up main surface function
a tad. 2004/12/03.
- IGES: Fix the 194 cone AutoCAD degrees versus radians patch
so it doesn't automatically assume any angle greater than
pi/2 is obviously in radians. (Whoops.) 2004/12/03.
- Add ResetCollection virtual functions to the
HwNlibAbstractSolid family of classes, and use it to
properly handle the Transform functions. (Which had been
hosed on HwNlibNMTBrep since day one.) 2004/12/02.
- IGES: Switch silly reference to p_components to
GetComponents (). 2004/12/02.
- Sanity check in intersection curve code to prevent a crash.
2004/12/02.
- Parasolid: Check to make sure ProcessAssemblyInstance has
returned a non-null pointer before adding it to an
assembly. 2004/12/01.
- IGES: Make all shells in a B-rep dependent, whether they
are marked that or not. 2004/12/01.
- Recognize .CATProduct as a CATIA5 file. 2004/11/30.
- Put the IwVector3d vector template predeclaration in both
files, but triggered to only fire once. 2004/11/30.
- Const IwContexts for style points, plus allow interpolating
2d curves. 2004/11/30.
- Add "xmt_bin" to allowable Parasolid extensions.
2004/11/29.
- Parasolid: Send header with fake tolerance and METERS for
units (which may or may not be correct). 2004/11/29.
- Parasolid: Properly add IDs on B-reps, assembly instances,
and assemblies. 2004/11/29.
- Parasolid: Read n_elts in an embedded schema field as a
short int. Then never read the transmit field, because
n_elts returns different values depending on whether we do
X_T or X_B, and it appears the xmt_code should never be
needed. (I hope.) 2004/11/29.
- Parasolid: Properly compare types on Parasolid schema
fields. This means if a node field changes type (but not
name) between versions, our inline schema system will
properly make a new version and change the type.
2004/11/29.
- Parasolid: Turn the "mystery 0" field back on for binary
files, but make it a short int rather than a plain int.
Then make the node type field a short int as well.
2004/11/29.
- Doubles have eight bytes, not four. Duh. 2004/11/29.
- Parasolid: Read pointer index instead of unsigned int when
you get the index of a node. Read schema update number
fields as an unsigned char rather than an int. 2004/11/29.
- Parasolid: Enabled neutral binary input, along with first
two fixes that attempt to make it work. 2004/11/29.
- Implemented HwLowLevelBinaryConversionInput class for
converting an ASCII input to a binary input. Also
recognize X_B files as Parasolid files. 2004/11/29.
- Parasolid: Slight refinement to the binary file reading
classes -- use unsigned chars instead of chars as the
primary input format. 2004/11/29.
- Start work on non-Nlib sweep surface implementation.
2004/11/29.
- Parasolid: Lay the groundwork for X_B format, but don't
actually turn it on yet. 2004/11/29.
- First stab at binary import classes, plus switch
unformatted ASCII import to use binary file reads (as every
translator just reads whitespace rather than specifically
looking for endline). 2004/11/29.
- Clean up the Parasolid (well, UG) schema stuff a bit.
2004/11/25.
- Reconfigure a bit to be easier to use for people who don't
have every translator. 2004/11/25.
- If the B-rep you are exploding was already exploded, don't
create the exploded attribute a second time on it.
2004/11/25.
- Improved MakeExplodedBrep to handle the case where some
faces are closed, or where there are no faces to explode.
2004/11/25.
- Fixed for declaration goof. 2004/11/24.
- Cleaned up using lint. 2004/11/24.
- Implement MakeExplodedBrep (which properly cleans up the
edges and vertices on an exploded B-rep so they are
topologically distinct to each face) and then use it in two
translators. 2004/11/23.
- Added function to explode solid components, so every face
has its own unique edges and vertices. 2004/11/22.
- Add and test full interpolate curve function. 2004/11/22.
- Code to create an polynomial IwBSplineCurve from our
control points, knots, and degree. Code mostly drawn from
test code, which was then refactored to use the new
function. 2004/11/22.
- Code to figure out good knot values to use based on the
parameters of the sample points. 2004/11/22.
- Parasolid: Don't try to create loops on a face if there are
none. Don't try to create a name if it is null.
2004/11/20.
- Parasolid: Proper assemblies (I think) plus assembly
attributes. 2004/11/20.
- Parasolid: Try to process assemblies correctly. (Probably
not there yet.) Don't all attribute processing failures to
affect the handling of the entity they are attached to.
2004/11/20.
- Include new HwTSLibMath.h to get vectors of IwPoint3d.
2004/11/18.
- Files to hold functions for some heavy-duty NURBS math.
(HwTSLibMath.cpp and HwTSLibMath.h.)
2004/11/18.
- IGES: Provide support for the (obsolete) convention of
using a type 402 form 9 in conjunction with two or more 108
plane entities to indicate a bounded planar surface with
inner loops. 2004/11/17.
- Parasolid: Swap rows and columns in transform processing.
(Example files showed our initial guess was wrong.)
2004/11/16.
- SAT: Turn off sti_colour_lwattr attribute type, because we
have no real idea how the attribute translates to actual
RGB color info. 2004/11/15.
- SAT: Overhaul color processing to make sure only one color
attribute is put on each object, and revamp
colour-tsl-attrib so that it generates the correct colors
(determined by experimentation). 2004/11/15.
- Parasolid: As we now handle Schemas internally, do not
require a schema path to be present (but pass one if it
is). 2004/11/15.
- Parasolid: Support inline schema construction, and switch
to using it instead of reading from a Schema file.
2004/11/12.
- Autogenerate the Parasolid schema inline creation code as
part of the standard build process. 2004/11/12.
- Parasolid: Refactor HwParasolidSchema::ReadType and
HwParasolidObjectIO::AddField to create a version which
does all the work of adding a field once the I/O has been
handled. This should help support the in-line Schema
system. 2004/11/12.
- Fix the last patch. 2004/11/05.
- Make the curve check to see if the arc is too flat much
smarter. 2004/11/05.
- When you call BoundInfinite on a plane, don't allow it make
an infinite plane, even if the bounds given would result in
a zero width (and thus by our short-hand, infinite) plane.
2004/10/29.
- Parasolid: Try to handle toruses with negative radii and
blended_edges. 2004/10/28.
- New version of HwNlibSurface::SetDegenerateTorus which
takes an HwCoordinateSystem. 2004/10/28.
- Parasolid: Flip the logic on reading the transmit code flag
in the embedded schema parsing scheme. No idea why the
code worked previously, then mysteriously stopped working
until I fixed this. 2004/10/27.
- Add HwStringMap<>::size function. 2004/10/27.
- Parasolid: Create the HwParasolidDataMapIndex class and
make all HwParasolidDataMap point to an instance of it.
This allows all HwParasolidDataMap objects of a given type
to share the same set of strings in memory, which should
make the Parasolid reader drastically more memory efficient
(and with any luck faster, too). 2004/10/27.
- Parasolid: Patched a memory leak in the body creation code.
2004/10/23.
- Parasolid: Add destructor for HwParasolidDataMap.
2004/10/22.
- DATAKIT: More Lint changes, plus try to handle scaling in
transformations. 2004/10/21.
- Factor out the code for creating a transform that scales,
and set it in a function of its own in the HwNlibObject.h.
2004/10/21.
- STEP: Factor out the code for creating a transform that
scales, and set it in a function of its own in the
HwNlibObject.h. 2004/10/21.
- DATAKIT: Rejoin the CATIA and "DATAKIT" versions of the
AddAttribute and AddObjectToList commands, sticking them in
HwNlibDatakitTools and renaming them with an "Hw" prefix to
help avoid name conflicts in the future. 2004/10/21.
- DATAKIT: Lots of pointer parameters made const to make Lint
happy. 2004/10/18.
- Parasolid: Try to add created attributes to all objects
created as part of a body. 2004/10/18.
- Parasolid: Add support for name attribute. 2004/10/18.
- CATIA: Support coordinate system object (CATIA type 8).
2004/10/18.
- DATAKIT: Added coordinate system support, refactoring axis
processing a tad. 2004/10/18.
- CATIA: Fix a bug in the handling of transformations, and
turn on the HwCatia_Cartesian_transformation_operator_3d
class. 2004/10/18.
- IGES: Initialize redundant entity_type_number field in
constructor. 2004/10/18.
- STEP: Eliminated unnecessary header file. 2004/10/18.
- CATIA: Fix broken destructor/free code, allow # comments,
and include cartesian_transformation_operator_3d class,
commented out because it doesn't work yet. 2004/10/18.
- Straighten out "new"s and don't require a case for each and
every member of an enum. 2004/10/16.
- CATIA: Change the non-template version of AddObjectToList
to AddObjectToListInfos, so that it won't conflict with the
template version in stupid compilers. 2004/10/16.
- Ignore the spurious warnings caused because the type name
of the POINT, CURVE, and SURFACE types are actually point,
curve, and surface. Also don't complain about C-style
casts. 2004/10/15.
- Add a version of hw_assert2 which takes a bool for its
first argument. 2004/10/15.
- CATIA: Remove unnecessary #includes. Prettify generated
destructors so that PC-Lint is happy with them. 2004/10/15.
- CATIA: Modify the template parameter on AddObjectToList so
that the function's instantiations take a const pointer.
2004/10/15.
Changes for IGES 1.5.3/VDAFS 1.3.7/STEP 1.2.3/SAT 1.0.8/OpenNurbs 1.0.8/Parasolid 0.4.1/DATAKIT-CATIA 0.5.1/DATAKIT-CATIA5 0.4.0/DATAKIT-UG 0.4.0 |
|
- If there are problems converting an IwBrep to a HwNlibBrep
or a HwNlibNMTBrep, fall back on creating an open shell
B-rep with each face of the IwBrep in an unconnected shell
of its own. 2004/10/14.
- UG: Get the proper units for the file, and report them
(along with a fake tolerance) using PassHeader. 2004/10/14.
- CATIA: Try to use the correct Infos for solid objects. Set
the new HwNlibTrimmedSurface invert flag if the solid face
orientation is not correct. 2004/10/14.
- Reimplement the previously broken
HwNlibTrimmedSurface::Invert function to just toggle a
"revbit" on the HwNlibTrimmedSurface object indicting it
the desired orientation of the trimmed surface is opposite
its natural one. 2004/10/14.
- UG: Removed completely obsolete include of HwUGAuto.h.
2004/10/13.
- Include iwos_extern.h in HwTSLibGeneric.h so that the IW
includes will work properly if this file is included on its
own. 2004/10/13.
- CATIA5: Establish units for Catia5 (always millimeters,
actually). 2004/10/12.
- CATIA: Refactor processing of solids. Properly implement
solid face color. Added units and passed a header
containing that info. 2004/10/12.
- Parasolid, UG: Use the path_to_parasolid_schema import
option to provide paths to the Schema file directory, and
The translators will not run unless a path is provided.
2004/10/11.
- Add path_to_parasolid_schemas option to ImportOptions, so
the UG and Parasolid translators can find the Parasolid
schemas needed for their operation. 2004/10/11.
- Parasolid: Instead of constructing a curve on surface by
hand, use new HwNlibCurveOnSurface::CreateByAssuming to do
it properly. 2004/10/11.
- Add a useful HwNlibTabulatedCylinder::Evaluate function.
2004/10/11.
- Move the SAT processor's CreateCurveOnSurface to
HwNlibCurveOnSurface as a static function, renaming it
HwNlibCurveOnSurface::CreateByAssuming. 2004/10/11.
- Parasolid: Give the face index number for failed faces.
2004/10/11.
- Parasolid: Add ID to faces. 2004/10/09.
- Parasolid: Create simple Parasolid ID type. 2004/10/09.
- Added PassObject function which tries to get the ID from
the ID attribute on the object, rather than requiring it to
be passed in. 2004/10/09.
- Intersection curve memory handling cleaned up.
2004/10/09.
- Wrap IsLine with #ifdef that makes sure it is available.
Improves to intersection curves. 2004/10/09.
- Parasolid: Add support for reporting names of unrecognized
attribute types, and scan (but don't do anything with) the
body attributes looking for them. 2004/10/08.
- Parasolid: Allow curves to be trimmed by either position or
parameter. Properly implement spun surfaces. 2004/10/08.
- Parasolid: Switch to defines (HW_PS_NULL_FLOAT &
HW_PS_NULL_INT) to handle the Parasolid null values.
2004/10/08.
- Parasolid: Add rough attribute framework, and support for
color attributes on faces. 2004/10/07.
- Parasolid: Process transforms. 2004/10/07.
- Handle gracefully the case where an open IwShell has two or
more sections which are not connected. 2004/10/07.
- SAT: Add generic attrib-name and string attributes.
2004/10/07.
- Add face sorter mechanism to HwImportOptions, and make the
simple receptacle constructor that takes an options
parameter honor it. Also add a sorter which sorts on color
and blanked status. 2004/10/07.
- Added HwTSLibSimpleReceptacleFaceSorter and its first
example subclass, HwTSLibSimpleReceptacleBlankedSorter.
Switch the HwTSLibSimpleReceptacle to use this class to
determine how to collect faces into "one" B-rep. (Actually
this one produces two, one normal and one blanked, and
future versions may produce even more.) 2004/10/07.
- A lot more work on intersection curves, but they still
don't work right in complicated cases. 2004/10/05.
- Replace drop tolerance constants with a drop_tolerance
variable, then make the tolerance 100x larger. 2004/10/01.
- Modify the code to estimate the amount of memory used by
N_apposs to account for the new code which tries to shrink
the approximation set if it looks like it will be
ridiculously big. 2004/09/30.
- Smarter (I hope) code for HwNlibOffsetSurface::IsClosed.
2004/09/30.
- Bring a stupid first stab at real intersection curves
on-line. 2004/09/30.
- IGES, openNURBS, SAT, STEP, VDAFS: Support the new analytic
curve and surface export options. (In the processing, we
don't necessarily write out analytic curves/surfaces for
all of these yet.) 2004/09/30.
- Lots of small changes to support exporting analytic curves
(at least, lines and arcs). Rearranged and renamed the
code for converting from IwAxis2Placement to
HwCoordinateSystem. 2004/09/30.
- SAT: Check to make sure p_tracker is non-null before
calling functions on it. 2004/09/29.
- IGES: Added virtual modifiers to SetModelSpaceLoopsOnly and
SetParameterSpaceLoopsOnly (as they are now part of the
base HwNlibExporterInterface virtual interface).
2004/09/29.
- Add two new export options, output_analytic_curves and
output_analytic_surfaces. 2004/09/29.
- Added HwNlibExporterInterface::SetStandardOptions function
to the HwNlibExporterInterface interface, to simplify
passing export options to the various export classes. Then
added a call to it in all of the TSLib export functions.
(This won't add new functions -- yet -- but will make it
easier to add more the future.) 2004/09/29.
- STEP: Implement functionality to turn off edge and vertex
lookup in a HwNlibSolidComponentsAid object, and use it to
untangle shells in the STEP MakeExplodedFaces function.
2004/09/29.
- Untested first incomplete stab at proper curve intersection
code. 2004/09/27.
- Parasolid: First stab at handling assemblies, plus rational
B-spline surfaces. 2004/09/24.
- Parasolid: Add support for SP Curves -- in the process,
properly implement 2D and 3D rational and non-rational B
Curves. 2004/09/24.
- Parasolid: If an edge has a null curve pointer, use its
fin's curve object, properly oriented. 2004/09/24.
- Parasolid: Handle edgeuses which have no edge, just a
vertex (ie probably the sole vertex in a vertex loop).
2004/09/24.
- Parasolid: Added support for Sphere surface. 2004/09/24.
- Added xmt_txt as another form of the Parasolid x_t file
extension. 2004/09/24.
- Parasolid: Support for trimmed curve type. 2004/09/24.
- Parasolid: Cleaned up the ProcessCurve functions quite a
bit, started to rough in spun and swept surfaces, improved
error handling. 2004/09/23.
- SAT: Added a countdown for faces processed, and cleaned up
the code for passing objects to the interface to just use
PassObject while I was at it. 2004/09/23.
- Added HwVerboseTracker as a debugging tool. 2004/09/23.
- Parasolid: Add first attempt at b_curve, based on the
b_surface type. 2004/09/22.
- Parasolid: Provide local Linux pathname, turned off.
2004/09/22.
- Parasolid: Refactor the "don't know how to handle" message
and apply it to both curve processing functions as well as
the surface function. 2004/09/22.
- Parasolid: Only print the "some faces left out" warning
message the first time through each shell. 2004/09/22.
- Parasolid: Turn off debugging output, add cone surface.
2004/09/22.
- Parasolid: Better error messages. Turn off debugging code.
2004/09/22.
- Parasolid: Buffer face reading so that we have a fallback
path in case face creation fails for some faces.
2004/09/21.
- Parasolid: Read each list of faces using a loop rather than
recursion. 2004/09/21.
- Parasolid: A bunch of changes needed to parse files with
embedded schemas. Note that we don't do anything useful
with the new embedded info yet, just skip it. 2004/09/21.
- Parasolid: Rearranged the Schema code a good bit. It now
will try to read the embedded schema info for files version
14 and later, though most of the reading code isn't there
yet. Also, the version variable and version functions are
all in the HwParasolidSchema class now. 2004/09/20.
- Parasolid: Refactor schema code a bit to make it easier to
determine version numbers. 2004/09/20.
- Parasolid: Fixed the node type number for BODY. 2004/09/18.
- Parasolid: Add GetSchema function. 2004/09/18.
- Parasolid: Analyze the type of the top node, instead of
just assuming it is a body. We still can only handle
bodies, but at least we print a nice error message now if
it is not one. 2004/09/18.
- Create the intersection curve NURBS form on the stack
passed in rather than the local stack. 2004/09/18.
- Change trimmed surface rules so that if both types of loop
will work and the file says it prefers the model space
loops, we will use the model space loops. 2004/09/17.
- Add support for surface of linear extrusion. 2004/09/16.
- Make GetBaseType support HwNlibReparameterizedSurface.
2004/09/16.
- Added GetBaseSurface members to
HwNlibReparameterizedSurface. 2004/09/16.
- CATIA5: Added parameter space loop dumping, now turned off.
2004/09/16.
- DATAKIT: Convert circle parameters to degrees before
passing them in. Then prefer to use the positions instead
of the parameters anyway, in case it isn't always in
radians. (And how do you measure ellipses, anyway?)
2004/09/16.
- CATIA5: Add the AddIdAsName as a debugging aid. 2004/09/16.
- Turn off the code to switch out-of-bounds parameter loops
on closed surfaces to model loops -- it seems problematic
at the moment (need to figure out the orientation first, I
think) and we have another solution for the problem it was
trying to solve. 2004/09/16.
- When trimming a surface of revolution, try to match the
surface's parameterization to the UV curves used to trim
it. 2004/09/16.
- Add HwNlibSurfaceOfRevolution::SetAnglesRadians function to
allow you to override the start and end angles of a surface
of revolution. 2004/09/16.
- DATAKIT: Add GetParameterTrimloopBox function to get the UV
space covered by a surface's parameter space loops.
2004/09/16.
- Added DumpCurve debugging function. 2004/09/15.
- CATIA5: Better error trapping on curves and points, plus
IDs for them. 2004/09/15.
- CATIA5: Try to have better error checking for trimmed
surfaces. 2004/09/15.
- Add "null entity" error. 2004/09/15.
- CATIA5: Add a decent first stab at an ID to trimmed
surfaces. 2004/09/15.
- DATAKIT: Changed surfaces of revolution to be parameterized
in radians, not degrees. 2004/09/15.
- First-stab at code to check and compensate for
out-of-main-period parameter space curves. 2004/09/15.
- CATIA5: Add Nlib-import interface for Catia v5. 2004/09/14.
- DATAKIT: Add tools to convert axis1_placement and
surface_of_revolution objects. 2004/09/14.
- Add static function call "in-place" (via HwStdAutoPtr)
surface conversion tools to replace a surface with a
swapped or reparameterized version of itself. 2004/09/14.
- Work on the intersection curve type. 2004/09/14.
- Parasolid: Provide a tolerance. 2004/09/14.
- CATIA5: Trap errors when reading trimmed surfaces. Pass a
tolerance. 2004/09/13.
- Started to rough in support for intersection curves.
2004/09/12.
- Added recognition for the .catpart CATIA v5 file extension.
2004/09/12.
- CATIA5: First version of CATIA V5 translator to compile and
link. 2004/09/12.
- Don't try to sample points on an intersection curve -- take
the curve's chart instead. 2004/09/11.
- Parasolid: Read intersection curves from Parasolid file.
2004/09/11.
- Implement HwNlibIntersectionCurve, to represent
intersection curves from Parasolid. 2004/09/11.
- Parasolid: Add HwParasolidSchema::GetName (which gets the
type name corresponding to a type ID number) and
HwParasolidFile::DebugDump, which dumps a human-readable
form of the file to std::cout. 2004/09/11.
- Log the approx 3D length of UV curves deleted because they
are too short in 3D space. 2004/09/11.
- CATIA5: First versions in development, based on Catia v4
translator. 2004/09/11.
- Patched a major memory leak in the "exploded B-rep" code.
2004/09/10.
- CATIA: Add STACKS parameter to interface. 2004/09/07.
- CATIA: Now it compiles, albeit with an enormous hack
(#includeing an IW header functions). 2004/09/07.
- CATIA: First version of Nlib CATIA harness, not yet
compiled. 2004/09/07.
- Parasolid: Factor in the face's sense flag. 2004/09/06.
- If skipping newlines, skip \n and \r. 2004/09/06.
- Add one Parasolid file extension to the list of file
extensions. 2004/09/05.
- Parasolid: Read from the schema file indicated in the X_T
file. (Directory path to it is still hard-coded.)
2004/09/05.
- Added ReverseCurve and InvertSurface functions which take a
reference to an HwStdAutoPtr to a curve/surface and change
it to the reversed/ inverted version. 2004/09/05.
- Parasolid: Massive changes -- can now read in BODYs as
collections of trimmed surfaces, with several common curve
and surface types supported. 2004/09/05.
- Parasolid: Added DebugDump series of commands, so that node
data can be examined. 2004/09/05.
- Parasolid: New files based on the SAT equivalents, with the
writing code turned off. (For now.) 2004/09/05.
- During a SplitAtSeams call, if there is no intersection
between the seams and the face's loops, we have to call
compute loop orientation. We used to use the 3D version of
ComputeLoopOrientation, but it turns out that gives
incorrect results in some cases. So this change switches
it to use the UV version instead. In theory, this may lead
to issues with surfaces it is very hard to project to
cleanly. In practice, it seems to improve our test suite's
handling of several models without causing any regressions
at all. 2004/09/03.
- openNURBS: Provide slightly more abstract interfaces to the
openNURBS material handling code we have written, and use
that to construct ON_Brep to IwBrep and IwBrep to ON_Brep
conversion functions. 2004/09/01.
- HwUnitTest: Simple (not yet really automatic) test of the
ON to IW and IW to ON direct B-rep conversion facilities.
2004/09/01.
- DATAKIT: Handle trimmed ellipses. 2004/09/01.
- CATIA: Bring CATIA into the new refactoring of the Datakit
toolset. 2004/08/31.
- DATAKIT: Fixed stupid spelling error ("Geomtric") and moved
HwNlibDatakitGeometricSetProcessor to header. 2004/08/31.
- UG: Add the new HwNlibDatakitTools files to the UG
projects, make UG use HwNlibDatakitProcessor rather than
HwNlibUGGeometryProcessor, and rip out the now redundant
code in the HwNlibUGProcessor files. 2004/08/31.
- DATAKIT: Changed "Parasolid" (what was it doing as a
general term in the UG translator?!?) to "Datakit".
2004/08/31.
- DATAKIT: Strip the UG names (and tools) from the file, get
it to compile on its own and link cleanly with the
(otherwise unmodified) UG translator. 2004/08/31.
- DATAKIT: Copy over HwNlibUGProcessor files to use as a
basis for the HwNlibDatakitTools files. 2004/08/31.
- Fixed reversed logic on ADVANCED_NLIB wrapper. 2004/08/31.
- HwUnitTest: Fixed Parasolid I/O test so it works again
after weekend of Parasolid development. 2004/08/31.
- Added needed ADVANCED_NLIB wrapper. 2004/08/31.
- Parasolid: Raw beginning of standard file to Nlib
processing tools for Parasolid. 2004/08/30.
- Parasolid: Lots of changes needed to get the first test
file to parse successfully. 2004/08/30.
- Parasolid: Add two types we don't properly understand, add
HwParasolidData::p_type field so that the HwParasolidData
knows its node type, and add GetLength/SetLength virtual
interface to the DatumIO classes, to allow fixed length
vector fields to be imported. 2004/08/30.
- Add newline skipping option (for Parasolid) and allow
doubles to start with a '.'. 2004/08/30.
- Don't allow null curves to be added to a composite curve.
2004/08/25.
- Add DropPoint to HwNlibSURFACE. Still needs ADVANCED_NLIB
wrappers. (Or maybe just BASIC_NLIB?) 2004/08/25.
- HwUnitTest: Add test that loops sphere b-reps to TSLib and
back, to make sure the basic round trip works. 2004/08/20.
- Work around the fact that the IwShellData::m_bOrientation
flag doesn't seem to actually do anything when creating a
manifold B-rep. 2004/08/20.
- Where possible, change HW_ASSERT to HW_SER_ASSERT. Loosen
the tolerance on the GlobalToLocal coordinate shift
correctness check. 2004/08/18.
- SAT: When creating a cylinder or cone, factor in the u
parameterization reversed flag. 2004/08/11.
- VDAFS: Change the translator to not stress out if it cannot
create the model space curve for a CONS. (Since it is
currently never used anyway...) 2004/08/10.
- Finish up assembly dumping code so that it actually dumps
the complete IwAssemblyInstance/IwAssembly structure
(though it shortchanges the objects involved). 2004/07/28.
- Include IwAssemblyInstance.h before trying to delete a
pointer to an IwAssemblyInstance object. 2004/07/27.
- Fixed deleting of assemblies. 2004/07/27.
- Add proper (??) delete calls for the class-based interface.
2004/07/27.
- Start to sketch in code for assembly dumping. 2004/07/27.
Changes for IGES 1.5.2/VDAFS 1.3.6/STEP 1.2.2/SAT 1.0.7/OpenNurbs 1.0.7/DATAKIT-CATIA 0.5.0 |
|
- Update version numbers for release. 2004/07/26.
- Turn off untested portions of the analytic face export
code. 2004/07/26.
- Fixed HwStringMap memory allocation so that it uses
HwAllocate and HwFree, which makes it much easier to use
correctly in DLLs. 2004/07/23.
- Parasolid: Added ReadUnicodeCharacter and ReadInt
functions, tweaked formatting of other read functions.
2004/07/23.
- Parasolid: Tighten const correctness, set up the map
between types and type readers. 2004/07/23.
- Parasolid: Added breaks at the top level of the big double
switch in HwParasolidDatumIO::Make. 2004/07/23.
- Parasolid: Finish writing the code to read a Schema.
Testing to commence soon. 2004/07/23.
- Parasolid: Add HwParasolidDatumIO::Make function to create
a HwParasolidDatumIO subclass object based on the character
type flag and the quantity data. 2004/07/23.
- Once you've created an n-sided surface, sew the resulting
faces together. 2004/07/23.
- Check to see (via sampling, so admittedly with less than
100% confidence) if the sole trimloop of an n-sided surface
lies on the surface's boundaries. (Previously we just
assumed it always would -- and maybe it will, but now we
check to make sure.) 2004/07/22.
- Parasolid: Added the character field flag for each type,
plus two types which had been inadvertently skipped.
2004/07/22.
- Parasolid: Added I/O classes for the variable-length
fields. 2004/07/22.
- Parasolid: Add working (or at least compiling and linking)
vector tools. 2004/07/22.
- Parasolid: Read the schema, but don't do anything useful
with it yet. 2004/07/22.
- Parasolid: Start to read full schemas. 2004/07/22.
- Parasolid: Added function to read the (useless?) info
between the header proper and the body of the Schema file.
2004/07/21.
- UG: Eliminated the vertex scaling hack, as the latest UG
library from DATAKIT doesn't have the bug. 2004/07/20.
- Parasolid: Added tools to get at the data in a header.
2004/07/20.
- Parasolid: Fixed the evil crash caused by inline
constructor/destructor for HwParasolidHeader. 2004/07/20.
- Parasolid: Skip whitespace after reading PARTn header.
2004/07/20.
- Parasolid: Added (untested) code to read a Parasolid
header. 2004/07/20.
- UG: This seems to work (sort of) but contains some
debugging stuff and a couple of nasty hacks. 2004/07/19.
- Added UG. 2004/07/19.
- UG: Add a mapping aid so that the solid is actually built
correctly. 2004/07/19.
- Modify HwNlibSolidMappingAid to allow different types for
the names of edges and vertices as well as different types
for their indices. 2004/07/19.
- UG: Handle surface curves in ProcessCurve. 2004/07/19.
- UG: Use the main shell function instead of the backup one.
2004/07/19.
- UG: Add version number, feedback. 2004/07/18.
- UG: Implement the rest of the shell code, however, no
proper sorting on edges and vertices yet. 2004/07/18.
- UG: Face processing added, loop processing still needed.
2004/07/18.
- UG: Fix up the old, broken, and possibly unworkable shell
handling functions, and start to add proper ones.
2004/07/18.
- Add UG file type detection. 2004/07/18.
- Add UG. 2004/07/18.
- Parasolid: Start of implementation for object I/O class.
2004/07/18.
- Parasolid: Defined HwParasolidASCIIOutput class.
2004/07/18.
- UG: Good bit of work to getting something primative but
functional hooked up. 2004/07/17.
- CATIA: Modified to work in an environment with v4 and v5.
2004/07/17.
- Parasolid: Add the basic data reading functions.
2004/07/17.
- Parasolid: Create new HwPsInterval, HwPsVector, and HwPsBox
types to use instead of the equivalent Nlib types.
2004/07/17.
- Parasolid: Start of low-level file classes. 2004/07/17.
- Parasolid: Added reader/writer base class destructors, so
we can compile and link everything happily again.
2004/07/17.
- Parasolid: Implement basic logical I/O tools, from which
the actual I/O code will be subclassed and/or built.
2004/07/17.
- Parasolid: Add first stabs at the more complex geometry
types. 2004/07/17.
- Parasolid: Replaced by tools/parasolid_to_cpp.pl and
tools/hwlibs_parasolid_data. 2004/07/17.
- Parasolid: Get the automatic file generator working as well
as the old hand-coded types. 2004/07/17.
- Parasolid: First version of tools for handling Parasolid
low-level type grunt work. 2004/07/17.
- Reorganization of the N-sided surface code, so that it
begins to work a bit. 2004/07/16.
- IGES: Implement the "Global Defer" flag for types 102 and
408. 2004/07/16.
- Make MergeAttributeList work the same as MergeAttribute.
2004/07/16.
- New, smarter version of Nlib MergeAttributes which allows
the caller to decide whether we prefer the outer or inner
attribute. 2004/07/16.
- Parasolid: Sketch things out a bit further. 2004/07/15.
- Parasolid: First stab at data class. 2004/07/15.
- Switch to creating NSided surfaces as IwBreps. 2004/07/15.
- Fixed use of bad loop parameter declaration. 2004/07/15.
- Parasolid: Start of Parasolid XT translator. 2004/07/15.
- First part of N-Sided surface implementation for
NMTLib-based code. 2004/07/14.
- Prefer model space loops to parameter space loops when
trimming offset surfaces. 2004/07/13.
- CATIA: Better error message for the open file error of -3.
2004/07/13.
- STEP: Modified to use the new MakeSTEPCircle function, and
eliminated some now-redundant code. 2004/07/12.
- CATIA: Handle trimmed curves, including trimmed NURBS and
trimmed circles. 2004/07/12.
- Move the heart of the code for handling STEP circles to the
core, so that it can also be used by the CATIA translator.
2004/07/12.
- CATIA: Improved error reporting and signaling. 2004/07/12.
- CATIA: Process curve bounded surfaces in geometric sets.
2004/07/12.
- STEP: Patched long-standing memory leak. 2004/07/12.
- CATIA: Add IDs to faces in collections of faces.
2004/07/09.
- CATIA: Add IDs to top-level entity and items contained in a
geometric set. 2004/07/09.
- CATIA: Cleaned up the handling of points and lines in
geometric sets. 2004/07/08.
- CATIA: Add processing of geometric sets at the file level.
Add file level feedback for unrecognized entity types.
2004/07/08.
- CATIA: Be a bit smarter about processing geometric sets.
2004/07/08.
- CATIA: Try to properly (if stupidly) process geometric sets
and set replicas. 2004/07/08.
- CATIA: Implement the usual progress announcements.
2004/07/07.
- CATIA: Header file, with only version number, for now.
2004/07/07.
- CATIA: Report entity creation counts when the file is read.
2004/07/07.
- SAT: Process vertexblendsurs to create
HwNlibNSidedSurfaces. 2004/07/07.
- Added an interface for adding sides to an
HwNlibNSidedSurface and then retrieving them later.
2004/07/07.
- SAT: Handle netsurs by using the stored b-spline surface
information. 2004/07/06.
- SAT: Implement file reading code for netsur. 2004/07/06.
- IGES: If we're reading an AutoCAD file, read the face
orientation the bit the way it is defined in the IGES
standard, rather than the way most people seem to implement
it. 2004/07/05.
- IGES: Extra sanity check -- make sure the angle looks like
it is radians, not degrees, just in case AutoCAD fixed
their bug. 2004/07/05.
- IGES: If an IGES file is from AutoCAD, expect type 194
cones to use radians instead of the standard degrees.
2004/07/05.
- UG: First batch of edits as we try to get it to compile.
2004/07/03.
- UG: Copy the CATIA translator to use as base for UG
translator. 2004/07/02.
- Replaced the old extended curve passing code with a call to
the new PassCurve function. 2004/07/02.
- Added "const" to the IwContext parameter for PassCurve.
2004/07/02.
- SAT: Recognize more of the blendsur subclasses. 2004/07/02.
- Comment out the WriteToFile calls used during blend
testing. 2004/07/01.
- STEP: When constructing a transformation from an item
defined transformation, if you cannot get any data from way
the representation items are referenced by the shape
representations, assume a standard forward direction for
the transformation. 2004/07/01.
- STEP: Rewrite the code to determine the direction an item
defined transformation goes to account for the idea that
one single shape represenation might point to both ends of
the idt. 2004/07/01.
- Actually hook up the new pass curve function and use it.
2004/06/29.
- Improvemnts to the IsArc test. 2004/06/29.
- Increased buffer size to in
HwTSLibTrimLoop3d::CreateConnectorOnSurface to prevent
overflow if the floating point numbers all have long ASCII
represenations. 2004/06/29.
- SAT: Realized that the mysterious "11" in the blendsur
support type field was actually the length of the string
"blendsupsur". Modified the blendsupport reading code to
read a string (which has length first) rather than a word
(which is just until next whitespace), and then modified
the blendsur class to work with the new standard.
2004/06/26.
- Implement a scheme whereby vertices on the face currently
being processed are stored in a vector, so that the blend
surface code can choose which is the correct fillet to use
if more than one fillet is a valid solution. 2004/06/26.
- Try to get a couple of blend surfaces working. 2004/06/26.
- Update blend fudge factor to handle inverted blends.
2004/06/26.
- Added HwNlibInvertedSurface::GetMinMaxBox. 2004/06/26.
- SAT: If spline surfaces say they are inverted, invert them.
2004/06/25.
- Add GetBaseType, for determining the fundamental type of a
surface. Some tweaks to improve bounding boxes on blend
surfaces. 2004/06/25.
- Add test for straight lines (and subsequent usage of
PassLine) to the TSLib assembly-based unpacking code -- but
only if extended curves are turned on. 2004/06/24.
- SAT: Give HwSatFile the version of AddEntity which allows
you to choose the sequence number for the entity being
added. 2004/06/24.
- SAT: Switch unwanted "body" objects to "no-body" so that
our SAT processor doesn't report errors when it cannot
process them. 2004/06/24.
- When trimming a curve, don't call GetEndPoints if the curve
is a curve on surface and the surface cannot be evaluated
(ie, the common blendsur case). 2004/06/24.
- When you've created a blend surface, instead of copying the
surface pointer (which will later prevent the surface from
being used in another B-rep) and letting the B-rep leak
memory, copy the surface object and delete the B-rep, which
is both correct and tidy. 2004/06/24.
- Added wrappers around uses of IwPoly classes, so that the
code will still compile on TSLib installations. 2004/06/24.
- Previously to check surface orientation, we choose a point
on the HwNlibSurface and dropped it to the IwSurface.
However, sometimes the HwNlibSurface is substantially
bigger than the IwSurface (for instance, a complete sphere
rather than a small portion of a sphere). So instead,
choose a point on the IwSurface and drop it to the
HwNlibSurface. 2004/06/24.
- Add virtual interface for dropping points to HwNlibSurface,
and quick implementations for plane, sphere, and cylinder.
2004/06/24.
- Added test to determine if the normal of the analytic
surface we have just converted from TSLib to Nlib is
pointing in the right direction. If not, invert the
surface. 2004/06/23.
- STEP: If a usage of an assembly component does not have its
own name, use the name of its product. 2004/06/21.
- Use the fabs of the offset distance to adjust the boundary
box of an offset surface. Harmless if the distance is
positive, very important if it is negative. 2004/06/21.
- Add IW_AIH_NLIB_MINOR_TYPE attribute type, along with
commented out code which uses it. Bind infinite cylinders
and cones. 2004/06/21.
- SAT: Proper support for VarRadius types. 2004/06/20.
- SAT: Added a bunch of variable radius types for blend
surfaces, as well as sorting out some of the trickier areas
of the blend surface and cross section types. 2004/06/20.
- SAT: Reformat the AutoCAD color info so it isn't in single
super-long lines of code. 2004/06/20.
- SAT: Added the blndsprngcur, varblendsur, and srfsrfblndsur
classes, plus corrected the case on one_radius and
two_radii. 2004/06/19.
- STEP: If you're using the AP203 rules, write
oriented_closed_shells for the void shells of a
brep_with_voids. 2004/06/18.
- IGES: When writing (as analytic) an inverted plane, just
write the plane with the opposite normal. 2004/06/18.
- Wrappers so that we don't try to compile the fillet code in
POPLib. 2004/06/18.
- SAT: Check for null_surface before trying to create a
blendsur support surface. 2004/06/17.
- Add derivative evaluation for HwNlibSphere. 2004/06/17.
- When converting an IwPlane to an HwNlibPlane, make sure the
HwNlibPlane is finite. 2004/06/17.
- Actually initialize the new p_output_analytic_surfaces
variable. 2004/06/16.
- SAT: Modified to work with HwSatBoundaryGeomBase class.
2004/06/16.
- SAT: Start to rough in vertexblendsur support. 2004/06/16.
- SAT: Add a way to get the wrapped information out of a
HwSatBoundaryGeomWrapper. 2004/06/16.
- Added first-stab at N-sided patch surface. 2004/06/16.
- Add a flag (set by SetOutputAnalyticSurfaces) to the
HwTSLibToNlibObject, which allows you to request analytic
surfaces be output. 2004/06/16.
- Removed duplicate HW_STD_AUTOPTR_TEMPLATE_PREDECLARATION
that had somehow crept into the code. 2004/06/15.
- SAT: Modifications to add support for the HwSatBoundaryGeom
class family. (Used by vertexblendsur.) 2004/06/15.
- SAT: A whole bunch of types needed for vertexblendsurs.
2004/06/15.
- STEP: If the first two attempts at generating a name for an
assembly fail, try using the ID field. 2004/06/14.
- Bunch of changes to attempt to handle blend surfaces.
2004/06/12.
- Add special bounds-handling for blend surfaces (since we
don't know their exact shape). 2004/06/12.
- SAT: Initial support for blend surfaces. 2004/06/11.
- Add support for HwNlibBlendSurface -- an odd type, as we
have no idea how to actually make a surface of it, other
than appealing to the IntegrityWare filleting tools to get
the job down. 2004/06/11.
- Add new version of isocurve checking function. Allow curve
trimming to work even if you cannot get the endpoints.
2004/06/11.
- SAT: Started rough-in of vertexblendsur type, then
commented it out. 2004/06/11.
- VDAFS: Added declaration of NORMALIZED for fossil versions
of Nlib. 2004/06/11.
- SAT: Report type of unknown curve to log file. 2004/06/07.
- When reading numbers in a free-form ASCII file (like STEP
or SAT) change any lowercase Ls found to the digit 1. Yes,
this is ridiculous, but we've got a sample file here that
uses l when it means 1 in a couple of spots. 2004/06/07.
- Rewrote the function to normalize the weights of a curve to
use the much smarter algorithm we were already using to
normalize the weights of a surface. 2004/06/06.
- IGES: Look for reversed NMT shells and use that info if
available. 2004/06/05.
- IGES: If an NMT shell is reversed, write that info out to
the file! 2004/06/05.
- openNURBS: Create a map of colors to materials, so that we
do not create unnecessary materials. 2004/06/05.
- openNURBS: Add simple function which returns the number of
materials in the Rhino file object, so we can test whether
or not we are correctly squeezing the colors into
materials. 2004/06/05.
- openNURBS: Created HwONMaterialManager to match
HwONLayerManager, and used it to clean up the previous
export material-handling code. 2004/06/04.
- openNURBS: Header for the latest src/HwNlibOnWriter.cpp.
2004/06/03.
- openNURBS: Use a map to control the IGES level to openNURBS
layer mapping. 2004/06/03.
- When converting a B-rep (presumably of a trimmed surface)
to a collection of open shell B-reps, make sure each B-rep
has the same attributes as the original B-rep. 2004/06/03.
- When merging attribute lists, treat level the same is color
(that is, use the inner if it is available, then the
outer). 2004/06/03.
- openNURBS: Don't use the layer's IGES level number if it is
less than 1, as -1 seems to be the default. 2004/06/03.
- openNURBS: Don't output openNURBS validity check to
standard output unless in debug mode. 2004/06/02.
- HwUnitTest: Fixes to make Rhino tests work more smoothly,
and include more checks. 2004/06/02.
- openNURBS: Added HwONXModelWrapper::CheckModel to validate
the objects in a model. 2004/06/02.
- Moved UV fixing code into new IwBrep export code.
2004/06/02.
- openNURBS: If the layer has an IGES level number, use that
for the HwNlibLevel attribute value rather than the Rhino
layer index. 2004/06/02.
- openNURBS: Actually return the index of the new layer
generated. 2004/06/02.
- openNURBS: Basic HwNlibLevel writing functionality
implemented. 2004/06/02.
- openNURBS: Add simple layer manager -- so far it only
creates the default layer, but that's a distinct
improvement over no layers at all. 2004/06/02.
- openNURBS: Read face color information from face material
information. 2004/06/02.
- openNURBS: Write face color information by using the face
material settings. 2004/06/02.
- IGES: Cast to eliminate a completely uninteresting warning.
2004/06/02.
- openNURBS: Fixed glitch was creating the attributes twice
on each entity imported. 2004/06/01.
Changes for IGES 1.5.1/VDAFS 1.3.5/STEP 1.2.1/SAT 1.0.6/OpenNurbs 1.0.6 |
|
- Export nested B-rep regions. 2004/05/27.
- Before thinking we've got a manifold void because it only
has one flip shell, make sure that the flip shell and the
void shell have the same number of face uses. 2004/05/27.
- Process NMT void shells to make sure faces which have
already been used once are not included. 2004/05/27.
- Handle the case of NMT void shells. (Not well, yet, but at
least make sure the shell is exported, and the B-rep is
created as an NMT B-rep.) 2004/05/27.
- Properly handle the case of one NMT shell containing two
manifold shells during IwBrep export. 2004/05/26.
- Try to walk through all the faceuses of a shell, rather
than just trying the first faceuse N times. (Duh.)
2004/05/26.
- openNURBS: Handle NMT B-reps. 2004/05/25.
- Handle NMT B-reps in PassObject. 2004/05/25.
- openNURBS: Create NMT B-reps as well as manifold and open
shell B-reps. Note that these will not create properly as
IwBreps yet, but at least we get them into the system in
one piece. 2004/05/25.
- Added HwNlibNMTBrep::AddShell function, allowing you to add
shells one-by-one and have them sorted into the proper bin
for you. 2004/05/25.
- openNURBS: Factor in shell and face orientation when
writing out faces. 2004/05/25.
- Use GetUVTrimCurve rather than GetUVTrimCurvePointer, as
the former handles some weird little marginal cases the
latter doesn't. (Originally I used it because I was under
the mistaken impression GetUVTrimCurve would calculate the
trim curve if it was not there.) 2004/05/24.
- Change ReverseSurfaceNormal from static to exported,
renaming it HwReverseSurfaceNormal. 2004/05/24.
- SAT: Change HwNlibPipeSurface to use HwNlibSweptSurface to
generate the NURBS surface when requested. 2004/05/21.
- SAT: Properly handle writing null_curve. 2004/05/21.
- Fixed HwNlibReparameterizedSurface so that if the
reparameterized surface would be illegal as a NURBS, it is
marked as "NURBS parameterization incorrect" and then not
reparameterized after NURBS construction. 2004/05/20.
- SAT: Fix the curve and pcurve writing functions to write
the curve type. 2004/05/20.
- SAT: Code to allow writing unknown entities. 2004/05/20.
- When importing a manifold B-rep, if there is more than one
shell, check to see if we know that the first shell is the
outer shell. If not (say the data came from an SAT file),
exit the B-rep creation code with an error. 2004/05/20.
- Improvements to reparameterized surfaces. 2004/05/20.
- SAT: Normalize the weights in BSpline curves. 2004/05/20.
- Add an accessor function for the NURBS surface underlying
the HwNlibSURFACE class. 2004/05/18.
- IGES: Allow leading spaces in the separator fields at the
beginning of the global section. 2004/05/17.
- STEP: Handle another case of meaningless name field in the
assembly component usage field. 2004/05/15.
- SAT: Move the stuff we had stashed provisionally in
exactcur to intcur, as R13 surfintcurs also had the extra
data. 2004/05/13.
- SAT: Handle the R13 version of offset surfaces. 2004/05/13.
- SAT: Tweaks to make faces and loops work on SAT R10 files,
and bring exact par curves, intcurs, and exactcurs work in
R10-R13. 2004/05/13.
- STEP: Better rules for dealing with these tricky STEP
degenerate tori. 2004/05/13.
- STEP: Patch to deal with misguided degenerate surface
normals in OBO-quick-M25.stp model. 2004/05/12.
- STEP: Beforing indicating that a shape representation has
been output, thus stopping STEP file processing at the
product level, make sure that there were actually entities
output in that shape representation. 2004/05/11.
- Added CountAssemblyInstanceEntities function to count all
the entities in an HwNlibAssemblyInstance. (Note -- it's
not terrifically efficient.) 2004/05/11.
- openNURBS: Add a support for a couple of attributes.
2004/05/11.
- openNURBS: Handle more cases during B-rep import.
2004/05/11.
- SAT: Use new SortShellsIntoClasses function. 2004/05/11.
- Turn off the assertion that the outer shell is first. I'm
not sure if it's needed, and I'm sure it's causing trouble.
2004/05/11.
- Add new SortShellsIntoClasses function, which sorts an
array of shells into manifold open, manifold closed, and
non-manifold arrays. 2004/05/11.
- SAT: Fine-tuning of support for versions R11-R13.
2004/05/11.
- SAT: A bunch of mods to make the file reader compatiable
with ACIS R13. 2004/05/11.
- SAT: Add support for layers/levels via the GSSL IGES Layer
attribute. 2004/05/11.
- Modifies the conversion code to work with the new
HwNlibBrep. 2004/05/10.
- SAT: Don't pretend to know which shell in a B-rep is the
outer shell. 2004/05/10.
- IGES, SAT, STEP, VDAFS: Changed to use the new HwNlibBrep
structure. 2004/05/10.
- Switch HwNlibBrep to use a collection of closed shells
rather than an outer shell and a collection of void shells.
Use a new flag to indicate if the first closed shell is the
outer shell. 2004/05/10.
- openNURBS: Add a wrapper class for ONX_Model, so that you
can write out a model without including the opennurbs.h
header. 2004/05/10.
- SAT: Fix the case of only NMT shells appearing in
SortShellsIntoObject -- it used to create an NMT B-rep and
then return an empty manifold B-rep. Also reorder output
so that manifold B-reps are returned before open shells and
NMT B-reps, so that it more closely matches the way the
code used to work. 2004/05/10.
- SAT: If the code for sorting shells encounters a solitary
NMT shell, make it a NMTBrep (instead of an assembly
containing a NMTBrep, which is what the code did
previously). 2004/05/08.
- SAT: Added proper entity counter to the higher level body
assembly construction. 2004/05/08.
- openNURBS: Clean up headers so that you can include
HwNlibONWriter.h without including the opennurbs.h header.
2004/05/07.
- SAT: Don't try to group shells into a B-rep unless a) there
is at least one shell, and b) all the shells it tried to
create were successfully created. 2004/05/07.
- IGES, VDAFS: Fixed it so that very early null characters in
a file do not shift the file into "no newlines in file"
mode. 2004/05/07.
- SAT: Smarten up the shell sorting process a touch. Now it
will preserve the information that shells should be grouped
together into a B-rep if it will make a proper manifold
B-rep. 2004/05/07.
- IGES: Reinstate the previous patch, but with a check so it
doesn't run unless we haven't found any independent
geometry in the file. 2004/05/07.
- IGES: Turn off the previous patch, add info about what
dependent entities are being turned independent where that
happens. 2004/05/07.
- IGES: After all the entities in the IGES file have been
processed, check to see if there are any top-level entities
which are not independent. If there are, make them
independent. 2004/05/06.
- SAT: Properly create the case of a multi-lump, all open
shell body as a single open shell HwNlibBrep object.
2004/05/06.
- SAT: Write out open shell b-reps properly as multi-lump
bodies. 2004/05/06.
- SAT: Use the HwSatHolder refactoring on the top-level body
object in a B-rep. 2004/05/06.
- SAT: Change LumpHolder to a template-class that will
hopefully work for most HwSatEntity objects. 2004/05/06.
- SAT: Factor in shell orientation when outputting faces.
Factor the wildly overused construction code. 2004/05/06.
- When exporting an IwBrep, if you have a "non-open" (ie not
all the faces have both faceuses in the same shell) shell,
give each face which does have both of its faceuses in a
single shell their own shell. 2004/05/05.
- Factor out the test to see if both faceuses of a face are
in the same shell. 2004/05/05.
- IGES: Added an error handling routine for the case where a
shell which is not part of a B-rep cannot be created.
2004/05/05.
- Start support for exporting NMT IwBreps. 2004/05/05.
- Output parameter space curves in the new B-rep conversion
code. 2004/05/03.
- Add B-rep and face attribute conversion back into the TSLib
to HwNlib B-rep conversion code. 2004/05/03.
- Make multiple open shells in one IwBrep work. 2004/05/01.
- First step in complete rewrite of code for converting
IwBrep to HwNlibBrep. 2004/04/30.
- Change the IwBrep to HwNlibBrep conversion process to work
with the non-void IwRegions rather than the void IwRegions.
To make this work, also reversed the shell orientation
flags and the shell order during processing (so the last,
ie outermost shell becomes the outer shell). [Note -- was
wrong about the last shell being outermost. That was an
accident of IwBrep construction in my test cases.]
2004/04/29.
- IGES: Support for reading 212 note entities added.
2004/04/26.
- Add IGES notes to the header dump. 2004/04/26.
- IGES: Add support for reading 212 note entities using the
GetNotes function. 2004/04/26.
- IGES: Added HwIgesNote subclass of HwGenericNote.
2004/04/26.
- Added HwGenericNote class, and include an array of pointers
to that class in the HwHeaderInfo class. 2004/04/26.
- Made HwNlibObjectToTSLib::ConvertPolyBrep work. 2004/04/26.
- Modified HwNlibSolidComponentsAid to allow different types
for the edge and vertex index, and updated places where
that class was used. 2004/04/26.
- SAT: Turn off the reading of law included data info, as the
example we have at hand doesn't seem to write it out, and
we don't see any signs of having a file in our sample set
which actually includes the only sort of law included data
we know how to read! 2004/04/20.
- Start laying out IwPolyBrep import code. Turn off
debugging printf mistakenly left in. 2004/04/20.
- IGES: We were leaking memory if we filled in the gaps in a
composite curve. Fix that. 2004/04/20.
- SAT: Before turning a sweepsur into an HwNlibSweptSurface,
see if the sweepsur contains the NURBS version of itself,
and use that instead. 2004/04/19.
- SAT: Fixes to bring sweepsur up to date. 2004/04/19.
- When copying solid components, copying the attached
tolerances. 2004/04/19.
- New HwNlibCoordinateSystem::MakeTransformTo and
::MakeTransformFrom functions. Added HwMakePoint and
HwMakeVector functions. 2004/04/19.
- Implement HwNlibSweptSurface::MakeNurbs. 2004/04/19.
- When sorting out a topology object, distinguish between
B-reps and trimmed surfaces. 2004/04/17.
- Modified the code which bumps tolerance if 3D trimming
curves are not within tolerance of their surface to perform
a sanity check against the length of the loop. If the loop
distance to the surface is greater than 10% of the loop
length, reject it all together. 2004/04/15.
- Add HwCoordinateSystem::GlobalToLocalTransform function.
2004/04/14.
- SAT: Fix MakeTransform so the transforms made correctly,
rather than with a rotated matrix. 2004/04/14.
- Provide proper copy constructor for the new
HwFreeFormattedData (can't believe I forgot that).
2004/04/13.
- IGES, VDAFS: Changes to make things work with the new
HwFreeFormattedData. 2004/04/13.
- Complete rewrite of the HwFreeFormatedData code in an
effort to make it use about 43% less memory. 2004/04/13.
- Try to make the file compatiable with older versions of
TSLib. 2004/04/12.
- Changed many uses of "interface" to "import_interface" to
avoid stupid Microsoft header tricks. 2004/04/07.
- SAT: Added offsetintcur. 2004/04/07.
- STEP: Use the new name facility for the "Efficient" classes
to create a name attribute if one is needed. 2004/04/05.
- STEP: Support names for the (now slightly less) efficient
versions of cartesian point and direction. 2004/04/05.
- STEP: Try to properly handle stand-alone cartesian points
that are represented by the
HwStepBaseEfficientCartesianPoint class. 2004/04/05.
- STEP: Added HwStepBaseEfficientCartesianPoint and
HwStepBaseEfficientDirection classes, which derive from
HwStep3Doubles. Implemented read and write functions for
HwStep3Doubles. This allows the HwStep3Doubles
optimization to be used directly, rather than reading in
the old cartesian point and direction objects, converting,
and deleting them. 2004/04/05.
- STEP: Switched from 3_doubles prototype to
EfficientCartesianPoint and EfficientDirection, and add
those two classes at the top of the CreateObject function,
so that they are called in preference to the old versions
of those classes (which are left in, in case they are
needed as base classes). 2004/04/05.
- STEP: Treat HwStep3Doubles class as if it was the cartesian
point class. 2004/04/04.
- STEP: Add 3doubles class (efficient version of cartesian
point) and automatically convert all appropriate cartesian
coordinate info to that type. 2004/04/04.
Changes for IGES 1.5.0/VDAFS 1.3.4/STEP 1.2.0/SAT 1.0.5/OpenNurbs 1.0.5 |
|
- Improved assembly dump code a bit. 2004/04/02.
- STEP/SAT/openNURBS/CATIA: Report TSLib options on import.
2004/04/01.
- Refactor and apply the same attribute transfer code that
applies to curves in TSLib assemblies to surfaces in TSLib
assemblies as well. 2004/04/01.
- Combined the two different tests to determine if
HW_NO_TSLIB_ASSEMBLIES should be set into one, better test.
2004/04/01.
- When unpacking an assembly, if the IwBrep was originally a
HwNlibSurface, and there is only one face in the IwBrep,
and surfaces are not set to be output as Breps, then output
just the one face's surface rather than the entire B-rep.
2004/04/01.
- Report whether IwAssembly/IwAssemblyInstance support is
turned on in the log file. 2004/04/01.
- Added #ifdef wrapper so that the code doesn't try to use
GetMirrored unless the function is actually available.
2004/03/31.
- Add test to turn off TSLib assemblies for older (pre-mirror
assemblies) versions of POPLib/NMTLib. 2004/03/31.
- Switched the N_curmep wrapper to incidate that it requires
Advanced Nlib (due to a customer report that it was not in
his Basic Nlib package). 2004/03/24.
- Switch wrapper around the pipe surface creation call to
check for Advanced Nlib, as Basic Nlib apparently does not
contain that function. 2004/03/24.
- Originally, when we detected a trimming curve which is off
it's surface in 3D space, we set the tolerance for that
face to be twice the distance. Then for some reason last
summer (I forget exactly what), we switched this value to
half. That was producing clearly incorrect results. So
now we set it to 1.2 times the distance to the surface,
which seems to yield okay results.... 2004/03/24.
- Added HwNlibExporterInterface::WritePolyBrep interface.
2004/03/24.
- STEP: Implement curve_style color support. 2004/03/19.
- STEP: Add curve_style type. 2004/03/19.
- If we're using the new Microsoft compiler, define
HW_TYPENAME to be typename. Otherwise, nothing. 2004/03/18.
- Added typenames (using a define, so they can be left out if
needed for older compilers) so that the HwRBTree compiles
with the latest Microsoft C++ compiler we have. 2004/03/18.
- openNURBS: Filter out objects which are the raw components
of InstanceDefinitions (ie assemblies) from the high-level
object creation. 2004/03/18.
- IGES: Finished up the mods which try to ensure that
properly C0 continuous (within 20 times tolerance) type 102
composite curves are written to the IGES file. 2004/03/18.
- IGES: Half-finished changes for more intelligent composite
curve handling. 2004/03/17.
- Refactor the composite curve gap filling code so it can be
used by const composite curves. (More or less.)
2004/03/17.
- Tweaks to tolerances on HwNlibRuledSurface::IsSimpleCone
code. 2004/03/16.
- openNURBS: Support the blanked attribute. 2004/03/12.
- Because the single "placement/mirror/scaling" model wasn't
really capable of properly expressing all the possible
transformations on chains of assemblies, switch to storing
a stack of IwAssemblyInstance pointers, and then run down
the list and perform all the "placement/mirror/scaling"
operation for each of them. 2004/03/12.
- Added new HwNlibPoint constructor which takes three
doubles. 2004/03/11.
- Skip big curves when looking for loop self-intersections,
as they can trigger really bad performance from the TSLib
intersection tools. (This should be undone if those tools
are ever fixed.) 2004/03/11.
- CATIA: Include header file needed for tolerance function.
2004/03/09.
- CATIA: Get tolerance from the file. 2004/03/09.
- Wrap IW_ASSERT in brackets so that the code will act the
same in debug and non-debug mode. 2004/03/09.
- CATIA: Added a flag to control whether or not blanked
entities are produced, and turned it off by default.
2004/03/09.
- Added make_blanked_entities options to HwImportOptions.
(It used to be true by default, once this change is fully
incorporated it will be falsed by default.) 2004/03/09.
- CATIA: Added blanked attribute. 2004/03/08.
- CATIA: Added level to the attribute handler. 2004/03/08.
- Added some functions for examining how things are
classified on a face. The code to actually call them is
turned off. 2004/03/06.
- When making trimmed surfaces for B-rep faces, check to make
sure the UV edges seem to match the 3D edges before adding
the UV edges to the trimmed surface. 2004/03/05.
- STEP: Try to detect and work around backwards hyperbolas.
2004/03/05.
- CATIA: Added support for names, cleaned up a touch.
2004/03/04.
- CATIA: Add color as the first attribute handled.
2004/03/04.
- CATIA: Actually take a logger from the outside, and pass
useful information using it. 2004/03/04.
- CATIA: Factored out the code for processing an object and
passing it to the interface. 2004/03/04.
- CATIA: Killed the Transformation_Axis_Catia variable, as it
does not appear to do anything. 2004/03/04.
- CATIA: Handle type 47 NURBS surface. 2004/03/04.
- CATIA: Process high level composite curves. 2004/03/04.
- CATIA: Hook up several types not found in the first sample
file. 2004/03/04.
- CATIA: Hook up several types not found in the first sample
file. 2004/03/04.
- CATIA: Use the new AddObjectToList function a few times.
2004/03/04.
- CATIA: Deleted deadwood. Added AddObjectToList function to
factor the if object is not null then add to vector thing
that cropped up all over the code. 2004/03/04.
- CATIA: Rearranged functions slightly. Purely cosemtic.
2004/03/04.
- CATIA: Try it without the windows header. No apparent
difference noticed so far. 2004/03/04.
- Added some Nlib functions (N_conarc, M_makcon, and
G_intlnl) to the file, in HW-specific versions which do not
check for parallel lines; then call these in
HwNlibHyperbola::MakeSingleNurbs. 2004/03/04.
- A few more standard hyperbolas to test. 2004/03/04.
- Added a couple of new access functions to HwNlibHyperbola.
2004/03/04.
- Smarten up HwNlibHyperbola a bit. 2004/03/04.
- Lots more tests, some of them turned off at the moment.
2004/03/04.
- Added rules for NlibHyperbola.cpp. 2004/03/04.
- Tests for the hyperbola class, which is giving us trouble
at the moment, and hasn't been particularly well-tested in
the past. 2004/03/04.
- Added other CATIA file extensions to the list. 2004/03/03.
- STEP: If we are unable to create any of the faces of an
open shell, fail rather than creating an empty B-rep which
will later lead to a crash. 2004/03/03.
- SAT: When creating an intcurve, if the requested parameter
range is all below the starting parameter of the intcurve,
treat it as a request for the curve reversed. (ie negate
and swap the parameters, then reverse the output.)
2004/03/02.
- CATIA: Changed solid face code as well. 2004/03/02.
- CATIA: More changes. 2004/03/02.
- CATIA: Added a few more types and another tweak.
2004/03/02.
- CATIA: Update with new wrapper classes. 2004/03/02.
- CATIA: Several more types, slightly smarter code.
2004/03/02.
- CATIA: Rearranged things a bit. 2004/03/02.
- Add auto-generated Catia files to Catia build. 2004/03/02.
- Add Catia tools to autogenerate code. 2004/03/02.
- CATIA: Tools to auto-generate C++ wrappers for the C CATIA
structures. 2004/03/02.
- CATIA: Tools to auto-generate C++ wrappers for the C CATIA
structures. 2004/03/02.
- STEP: Added uniform knot type to BSpline surface creation
tools. 2004/03/02.
- STEP: Reworked the rational BSpline surface code to use new
utils. 2004/03/02.
- STEP: Cleaned up one function using new surface BSpline
utils. 2004/03/02.
- Further BSpline surface types. 2004/03/02.
- Start refactoring of BSpline surface functions. 2004/03/02.
- STEP: Rework things a bit so we can handle a multi-type
entity which is a B-rep. 2004/03/02.
- openNURBS: Clean up the new transform handling code a bit.
2004/03/01.
- STEP: Continue reworking BSpline code. 2004/03/01.
- CATIA: Deleted local MakeBSplineCurve function, and changed
references to it to use the new version in
HwNlibBSplineUtils.h. 2004/02/28.
- STEP: Refactored using MakeBSplineCurve function.
2004/02/28.
- Added MakeBSplineCurve function to make the curve once
you've got all the control points, knots, and weights
worked out. 2004/02/28.
- CATIA: Added support for uniform curves. 2004/02/28.
- STEP: Support uniform and quasi-uniform bspline curves
using the new BSpline utils header. 2004/02/28.
- CATIA: More refactoring. 2004/02/28.
- Added QuasiUniformKnots and curve weight functions.
2004/02/28.
- CATIA: Use new MakeUniformKnots function in
HwNlibBSplineUtils.h. 2004/02/28.
- Add MakeUniformKnots function. 2004/02/28.
- Added new HwNlibBSplineUtils.h file for common STEP/CATIA
code. 2004/02/28.
- STEP: Use the new common STEP/CATIA code. 2004/02/28.
- CATIA: Adjust to use new header file. 2004/02/28.
- Fcator out BSpline code common to STEP and CATIA.
2004/02/28.
- CATIA: Refactored the b-spline knot creation code,
accidentally fixing a bug in the process. 2004/02/28.
- CATIA: Added uniform surfaces to the mix. 2004/02/28.
- CATIA: Process composite curves and a few surface types.
2004/02/28.
- CATIA: Added support for Quasi-uniform curves. 2004/02/28.
- CATIA: Added bspline curves and rational bspline curves.
2004/02/28.
- CATIA: Factored out the Line conversion code into a
function, started a generic curve conversion class.
2004/02/27.
- CATIA: Added support for straight line type, plus a tiny
bit of refactoring. 2004/02/27.
- CATIA: Simple hooks into our Catia development code, so we
can test using the standard hw_dump utility. 2004/02/27.
- CATIA: Imported the DATAKIT sample file reading program as
a framework to start from. 2004/02/27.
- Add Catia to the file types. 2004/02/27.
- Laid groundwork for catia project. 2004/02/27.
- CATIA: Beginning of the Catia translator project.
2004/02/25.
- openNURBS: Refactor the high level object creation
controls, add first stab at support for "ON_InstanceRef"
(ie assembly instances). 2004/02/23.
- STEP: Came up with better way of calculating hyperbola
parameter values from points on it. Use the new generic
PassObject to implement the specific STEP version.
2004/02/23.
- Moved the template declaration of a map from unsigned ints
to HwNlibAssembyInstance pointers from
HwNlibStepProcessor.h to HwNlibCollection.h (so that it's
with the HwNlibAssembyInstance class). 2004/02/23.
- STEP: Moved the template declaration of a map from unsigned
ints to HwNlibAssembyInstance pointers from
HwNlibStepProcessor.h to HwNlibCollection.h (so that it's
with the HwNlibAssembyInstance class). 2004/02/23.
- Move the PassObject function, which seems to get called a
lot in different variations, to the HwNlibGeneric files.
2004/02/23.
- IGES: When reading IGES files from "Dr.PICZA", stop once
all the control points and been read and don't read any
more of the surface data (as it appears to be confused).
2004/02/19.
- Instead of simply failing if CreateConnectorOnSurface lifts
the 2d curve to 3d and ends up with a degenerate curve,
replace the lifted curve with a simple straight line
segment. 2004/02/13.
- Turned a ton of HW_ASSERTs into HW_SER_ASSERTs. (Geez,
thought I'd chased all those out of the code a year or two
ago.) 2004/02/13.
- Added some missing brackets to the GetSmallUV code.
2004/02/13.
Changes for IGES 1.4.9/VDAFS 1.3.3/STEP 1.1.9/SAT 1.0.4/OpenNurbs 1.0.4 |
|
- VDAFS: Tweaked around the locations of the included
Nlib/Advanced Nlib functions a tad. 2004/02/09.
- openNURBS: In cases where we create a curve on surface for
an edge's 3D curve, try to use the simplest surface which
the edge touches. 2004/02/09.
- Only perform the curve on surface force to base
parameterization if the surface is a NURBS surface.
(Technically it would be better if we had some way of
seeing which p-space coordinates of a surface where hard.)
2004/02/09.
- Changed CleanGeneratedEdgeCurves to use N_toocsg rather
than IwBSplineCurve::Trim, as the latter has sanity checks
which make it impossible to trim off very very short
segments, which of course was the entire point of calling
Trim in the first place. 2004/02/08.
- Fixed the goofed-up curve versus edge parameterization code
in CleanGeneratedEdgeCurves. 2004/02/08.
- In curve on surface evaluation, force UV point gained by
evaluating the curve into the surface's UV space.
2004/02/08.
- openNURBS: When possible, include parameter curves in
edgeuses. 2004/02/06.
- openNURBS: Added beginning of HwImportOptions framework.
2004/02/06.
- Added the HwTSLibTrimmingTools::CleanGeneratedEdgeCurves,
which goes through edges generated after parameter space
trimmed surface construction and tries to fix up illegal or
stupid curves. In the process, created a 3D version of the
ReplaceCurveWithStraight function. 2004/02/05.
- VDAFS: Switch the VDA-FS translator to write out B-reps
instead of trimmed surfaces. Both should yield VDA-FS FACE
entities, but the B-rep version should have much nicer
trimming loops. 2004/02/05.
- Moved a variable declaration to kill a compiler warning.
2004/02/05.
- VDAFS: Modified N_appgsa in an attempt to work around the
uninitialized variable problem in the test around U_surcmp.
2004/02/04.
- Realized that the last memory leak I patched was actually
one I'd patched before, then removed because IwBrepData
stopped leaking the memory. After consideration, have added
HW_IWBREPDATA_M_PATTRIBUTES_LEAKS define flag -- if it is
defined, the memory leak fixes in HwTSLibNlibObject.cpp
will be activated. If it is not defined (and it is not, by
default), the code assumes that IwBrepData doesn't actually
leak. 2004/02/04.
- Work around for the m_pAttributes memory leak in
IwBrepData. 2004/02/04.
- openNURBS: Changed the export facility to take advantage of
the new HwTSLibViaNlibExporter functionality. 2004/02/03.
- SAT: Use the new HwTSLibViaNlibExporter facility to specify
that trimmed surfaces should be output as open B-rep faces.
2004/02/03.
- Output hw_convert and hw_dump to the Winlibs directory.
2004/02/03.
- Added optional argument to HwTSLibViaNlibExporter which
allows you to indicate that trimmed surfaces should be
written out as single-faced B-rep entities, as is needed
for SAT and openNURBS. 2004/02/03.
- When cleaning up the HwStringMap, delete was called to
delete a string of chars. Of course it should have been
delete []. 2004/02/03.
- Force all NMT B-reps to be exploded on import. 2004/02/02.
- Merged the two different trimmed surface functions (create
and convert) in HwNlibToTSLib. 2004/02/02.
- Merged HwNlibToTSLib::CreateBrep and
HwNlibToTSLib::CreateNMTBrep to HwNlibToTSLib::CreateSolid,
then replaced the existing code with calls to
HwNlibToTSLib::ConvertSolid and PassTopologyObjects.
2004/01/29.
- Added functions PassTopologyObject and PassTopologyObjects
to the interface. PassTopologyObject is a simple tweak on
the old HwTSLibReceptacleInterfaceReceptacle::PassObject
function to allow it to be used by everyone.
PassTopologyObjects calls PassTopologyObject for every
topology object in a vector. 2004/01/29.
- Added new HwNlibColor default constructor. 2004/01/29.
- Merged the high-level control for B-reps and NMT B-reps
because they were (or at least, should have been) basically
the same function with a single different call into the
low-level code. 2004/01/29.
- Made the high-level NMT conversion code work like the
standard B-rep code. They should eventually be merged
together, once NMT works properly. 2004/01/29.
- VDAFS: Added the code to write rational surfaces for those
without Advanced Nlib. (Code is mostly copyright
GeomWare/Solid Modeling Solutions.) 2004/01/28.
- VDAFS: Took the (now unneeded) HW_USE_ADVANCED_NLIB wrapper
off from the CONS curve writing code. 2004/01/28.
- VDAFS: Added the GeomWare/SMS function for converting a
rational curve to a non-rational and its support functions,
to be compiled only if Advanced Nlib is not present.
2004/01/28.
- VDAFS: Modified the CONS code to work, too. 2004/01/28.
- VDAFS: Added GeomWare/Solid Modeling Solutions N_gprsnp as
hw_N_gprsnp, and modified SURF code to use it. 2004/01/28.
- VDAFS: Added GeomWare/Solid Modeling Solution function
N_gprcnp as hw_N_gprcnp, and used it to simplify the CURV
writing code. 2004/01/28.
- VDAFS: Made similiar modifications to get the SURF entity
working. 2004/01/28.
- VDAFS: Switched CONS builder to use the new hw_N_gprcpn
function. 2004/01/28.
- VDAFS: Added N_gprcpn (Copyright Solid Modeling Solutions)
to code, tweaked slightly to use a tolerance which is
passed in rather than MTOL. 2004/01/28.
- VDAFS: Attempted to add N_cplrep for users without Nlib.
2004/01/27.
- Factored out the static AddTypeAttribute helper function.
Switched CreateExplodedBrep to take HwNlibAbstractSolid
rather than HwNlibBrep. 2004/01/27.
- Re-arranged the handling of _T and friends, in a way uses
fewer lines of code and will hopefully work better for all
platforms. 2004/01/26.
- Tried moving include of iwos_extern so that HwCommon.h has
IW_VERSION_NUMBER available the first time it is included.
2004/01/23.
- Blocked out another GetWireEdges for old versions of TSLib.
2004/01/23.
- Tweaked to handle the lack of GetWireEdges in old versions
of TSLib. 2004/01/22.
- STEP: Do not process negative surface side color data.
2004/01/22.
- In MergeAttributeLists, try taking color from inner, then
(if it is not present there) outer. 2004/01/22.
- Fixed up the area calculation, so that it won't try to take
the square root of a negative number if the triangle is
just a slit. 2004/01/20.
- Use the entity's ID attribute for an ID if no ID is passed
into the create function. 2004/01/16.
- SAT: Delete assemblies created reading an SAT file.
2004/01/16.
- SAT: Store a copy of each assembly instance generated, to
keep the contained assembly safe from deletion while the
file is being read. 2004/01/16.
- Predeclared an HwStdVector of HwNlibAssemblyInstances.
2004/01/16.
- STEP: Invert a degenerate torus whenever "select_outer" is
false (previously only inverted if select_outer was false
and the torus was not properly declared degenerate).
2004/01/13.
- SAT: Only allow Autodesk colors from 0-255. 2004/01/13.
- SAT: Report entity counts at the beginning of the
SendToInterface function. 2004/01/13.
- SAT: Try to add some heartbeats. 2004/01/13.
- SAT: Count BODYs instead of a base class which can probably
never be instantiated. 2004/01/13.
- SAT: Implemented a first stab at the AutoCAD/Autodesk color
attribute. 2004/01/12.
- Changed the order of the operations in FindTolerance to
make the Microsoft optimizer happy in the POPLib version of
the libraries. (Mind you, the order should have made
absolutely no difference...) 2004/01/12.
- Solomon Foster married Jennifer Schupska, 2004/01/03.
- Fixed a very stupid bug that made the face->tolerance
double each time the FindMaxLoopDistanceToFace was called
on a given face. 2003/12/28.
- Allow the use of the new MakeOpenFaces function instead of
the MakeTrimmedSurface function in the exploded B-rep
creation code. (However, it is still set to use
MakeTrimmedSurface for the moment.) 2003/12/15.
- Added MakeOpenFaces function to convert a solid to a
collection of single-faced open-face B-reps. 2003/12/15.
- Improvements (possibly forlorn) to the face tolerance
patch. 2003/12/12.
- Made HwNlibReparameterizedCurve a touch smarter.
2003/12/12.
- When splitting a face, if the face tolerance is greater
than 3D tolerance, use it as 3D tolerance. 2003/12/11.
- Hacked FindMaxDistanceToFace to actually change the face
tolerances instead of returning a value. 2003/12/11.
- Transfer face and edge tolerances to IwBreps, and enforce
the unwritten IW tolerance rules (vertex_tol >= edge_tol >=
face_tol). 2003/12/11.
- STEP: Factored code slightly. 2003/12/11.
- Added HwNlibOffsetSurface::GetMinMaxBox. 2003/12/10.
- SAT: Fixed logical problem in offsur. 2003/12/10.
- SAT: Try to handle flags in the offsur code. 2003/12/09.
- SAT: Added support for offset surfaces (offsur).
2003/12/09.
- If, during SplitAtSeams, no loops cross seams and we have
an outer loop, skip the rest of splitting code. (This
should be faster for this case, and allows the case where
we mistakingly find two outer loops to skip by to other
code which is more forgiving.) 2003/12/09.
- Added test project for POPLib. 2003/12/09.
- Switched ostream to HW_STD::ostream. 2003/12/09.
- Properly intialize face tolerance. 2003/12/08.
- Turned off the FindMaxDistanceToFace patch, because it was
producing dubious results. 2003/12/08.
- STEP: Improve STEP face debugging output a tad. 2003/12/02.
- Try for smarter handling of face and shell attributes when
converting a B-rep to trimmed surfaces. 2003/12/02.
- Allow FindMaxLoopDistanceToFace to work even if some curves
cannot return their parameterization. 2003/12/02.
- Implemented FindDistanceToSurface for
HwNlibReparameterizedSurface, HwNlibSwappedSurface,
HwNlibIgnoreParameterizationSurface, and
HwNlibInvertedSurface. 2003/12/02.
- Implement HwNlibSphere::FindDistanceToSurface. 2003/12/02.
- More intelligent handling of small ellipses. 2003/12/01.
- Make changes to the B-rep tolerance filter up to the rest
of the translation. 2003/11/27.
- Use FindMaxLoopDistanceToFace to see if tolerance is too
small on B-reps, and increase the tolerance if it is.
2003/11/26.
- Added FindMaxLoopDistanceToFace function. 2003/11/26.
- Added interface for finding the distance from a point to
the surface, and a couple of simple implementations of the
routine for special analytic cases. 2003/11/26.
- SAT: Write the blanked attribute. 2003/11/26.
- SAT: Added support for display_attribute in the case where
it means the entity is blanked. 2003/11/25.
- SAT: Added display_attribute. 2003/11/25.
- STEP: Add IDs to mapped_items, so that you can track which
map each object has gone through. If there is more than
one shape_definition_representation for a given product,
only map the first one encountered to the product. This
fixes a weird situation we have only seen once. 2003/11/25.
- Dump the comment attribute. 2003/11/24.
- SAT: Added support for the Nlib/TSLib comment attributes
via a new SAT type, comment-harmonyware-attrib. 2003/11/24.
- Make the generic fallback for writing entities not
supported by a given translator a successful no-op rather
than an error. This makes writing generic assembly export
code much more reasonable. 2003/11/24.
- SAT: Added framework for writing attributes to SAT file,
and the basic color attribute. 2003/11/24.
- SAT: Added second SAT color type. 2003/11/24.
- SAT: Tweaked the attribute code a bit and added attributes
on faces. 2003/11/24.
- SAT: Attached attribute conversion to BODY entities.
2003/11/23.
- SAT: Added framework for processing SAT attributes, plus
the color attribute. 2003/11/23.
- SAT: Switched the names of the new classes. 2003/11/23.
- SAT: Added attribute base, st attribute base, and rgb color
attribute. 2003/11/23.
- Properly locate, scale, and annotate HwAssemblyInstances
converted from IwAssemblyInstances. 2003/11/21.
- Actually got around to implementing the
HwAssemblyInstance::Scale function. 2003/11/21.
- STEP: Try to eliminate inlined functions from the
HwStepAuto.h header, both implicit and explicit.
2003/11/20.
- STEP: Slightly rewrite the STEP object creation code so
that the huge statement with all the if's is much shorter.
2003/11/20.
- Make sure face errors are reported. 2003/11/19.
- Prevent errors from writing out one polygon in a
tesselation from killing the entire remainder of the
tesselation process. 2003/11/19.
- SAT: Allow the user to set the SAT version to write.
WARNING -- 99.9% of the SAT export testing has been using
the default 5.0 setting. 2003/11/17.
- Add another wrapper to deal with older versions of TSLib.
2003/11/14.
- Made the table mapping IwAssemblies to HwNlibAssemblies
last for the duration of the HwTSLibViaNlibExporter.
2003/11/14.
- IGES: Make sure that if the export object is referencing an
HwNlibAssembly pointer, it will not be deleted before the
export object is destroyed. 2003/11/14.
- Handle tolerance detection in assemblies. 2003/11/12.
- Switched export functions to use new tolerance
calculation code. 2003/11/11.
- Start of overhaul of tolerance control for export
functions. 2003/11/11.
- Added assembly output to the standard export functions.
2003/11/11.
- Changed IwContext parameter to const reference on BrepClean
function. 2003/11/11.
- Changed IwContext parameter to const reference on BrepClean
function. 2003/11/11.
- Added first stab at TSLib assembly -> Nlib assembly code.
Not actually hooked up to anything yet. 2003/11/11.
- Patched memory leak. 2003/11/10.
Changes for IGES 1.4.8/VDAFS 1.3.2/STEP 1.1.8/SAT 1.0.3/OpenNurbs 1.0.3 |
|
- Properly handle NMT B-reps in the new TSLib assembly setup.
2003/11/06.
- Update TSLib assembly code to work with the very latest
IntegrityWare code, and use a compile-time test against the
IW version to turn off the TSLib assembly code when using
older versions of the IW libraries. 2003/11/04.
- Copy the attributes properly on composite curves.
2003/11/04.
- STEP: When making an assembly instance, use the
next_assembly_usage_occurrence ID as the assembly
instance's ID. 2003/11/04.
- Debugging assembly dumping tools added. 2003/11/04.
- When replacing a piecewise linear curve with a smooth, keep
the attributes of the original curve. 2003/11/03.
- Added function which treats an array of curves as one.
2003/11/03.
- Use the new IW_AIH_NLIB_MAJOR_TYPE info to sort IwBreps
into their proper types when unpacking a TSLib assembly.
2003/11/03.
- Added new IW_AIH_NLIB_MAJOR_TYPE attribute type to store
information about the HwNlibObject type that makes up the
components in an IwAssembly (as everything in there needs
to be stored as IwBreps). 2003/11/03.
- Allow for rescaled coordinate systems in the TSLib assembly
code. 2003/11/03.
- Added a fudge factor to the ellipse code to prevent a very
obscure bug involving 80-bit floats compared with 64-bit
floats... 2003/11/02.
- SAT: Add IDs to loose edges and shell components.
2003/11/01.
- SAT: Added IDs to body output. 2003/11/01.
- Added IwVertex declaration so that you don't have to load
that header first to make everything happy. 2003/10/31.
- When processing a TSLib assembly to unpack it, unpack
points and coordinate systems. 2003/10/31.
- Include coordinate systems in TSLib assemblies. 2003/10/31.
- VDAFS: Fixed HwVdafsIdentifier::SetAsOwner, too.
2003/10/30.
- Fixed the HwIdentifierNumbers::SetAsOwner function to work
cumulatively if the current ID already has an owner.
2003/10/30.
- When unpacking an HwNlibCollection in an assembly context,
make sure that the entities in the collection inherit the
collection's attributes. 2003/10/30.
- Added two template functions to simplify the process of
creating a new ID with the same type another ID.
2003/10/30.
- IGES, SAT, openNURBS, STEP: Near complete reworking of the
ID classes. Moved the IGES (ie numeric) ID to a new
generic base class, then subclassed all the other numeric
ID types from it. Added several functions to the base
class description as well. 2003/10/30.
- Process containers of objects in TSLib assemblies.
2003/10/29.
- For some obscure reason, the two different collection types
-- HwNlibIgesCollection and HwNlibVdafsCollection -- have
always shared one one type define. Historically, this
worked okay, but it's not really practical with the much
more translator-generic HarmonyWare code of today. So
there are now two defines:
HW_NOMT_MAJOR_TYPE_NUMBERED_COLLECTION for
HwNlibIgesCollection and
HW_NOMT_MAJOR_TYPE_NAMED_COLLECTION for
HwNlibVdafsCollection. 2003/10/28.
- SAT: Write units info when exporting. 2003/10/27.
- SAT: Move the SAT HwHeaderInfo code into
HwNlibSatProcessor, and add units. 2003/10/25.
- STEP: Allow for different capitalization of broken assembly
name. 2003/10/24.
- STEP: Additional debugging output (turned off) for
assemblies. 2003/10/23.
- In the new assembly code, when unpacking a IwCurve from a
wire IwBrep, transfer the IwBrep's attributes to the
IwCurve. 2003/10/22.
- In the new assembly code, put the HwNlibPoint or
HwNlibCurve's attributes on the IwBrep that is created, so
that they are properly merged with the other attributes in
the assembly. 2003/10/22.
- STEP: Changed the handling of certain illegal degenerate
toroidal surfaces. (Namely those with negative major
radii.) 2003/10/21.
- Give IwAssemblyInstances their proper names. (Note that
the name attribute on the IwAssemblyInstance will be
identical to the IwAssemblyInstance's name field!)
2003/10/20.
- Added a few more attribute types and a rough start to
IwBrep dumping. 2003/10/20.
- Fixed up to not try to compile the new TSLib assembly code
if TSLib assemblies are turned off. 2003/10/18.
- Added code for dumping a curve's end points and bounding
box. 2003/10/17.
- Properly handle scaling when disassembling assemblies.
When disassembling an IwAssemblyInstance, turn wire edges
back into curves. 2003/10/16.
- Properly handling scaling of assemblies. 2003/10/16.
- Added support for recognizing (but not yet doing using
things with) left-handed coordinate systems in assemblies.
2003/10/16.
- Properly trap errors creating TSLib assembly instances.
2003/10/15.
- In cases where the parameter space loops are usable (and
look okay) and the parameter space loops are all iso
curves, prefer parameter space curves over model space
curves. 2003/10/15.
- IGES, VDAFS, STEP, SAT openNURBS: Added new optional
array-based assembly interface to standard array import
function. 2003/10/15.
- Add support for first-classs assemblies to
HwTSLibSimpleReceptacle. 2003/10/14.
- openNURBS: Handle the case of the B-rep with no shells.
2003/10/14.
- When trim loop ordering is supposedly correct, check to see
if the first (ie supposedly outer) loop contains the second
loop. If it doesn't, go through the loops looking for a
loop which does contain it, and make that the outer loop.
2003/10/14.
- If a trimmed curve would be way too short by parameter
values, and of reasonable length (not too long, more than
1e-5 in length) in model space, substitute a straight
between the trimming points. 2003/10/13.
- Handle some marginal B-rep creation cases (like no
successful faces) without crashing. 2003/10/13.
- Backed out the curve length change. It was reported to be
causing trouble, and after latter changes, didn't do any
perceptable good. 2003/10/10.
- STEP: Detect and avoid recursive loops when counting
entities in the file. 2003/10/10.
- When trying to smooth a piecewise linear curve, always
check to make sure the piecewise version of the curve does
not have any doubled control points. 2003/10/07.
- STEP: Try to smarten up the STEP transformation creation
code. 2003/10/06.
- Reworked a lot of the TSLib assembly code. Code is still
in a transitional state. 2003/10/06.
- Added HwNoIdentifier class, for those cases where we need
an ID and there isn't one handy. 2003/10/02.
- Moved the point, assembly, and generic object to topology
functions from HwNlibObjectToTSLib to HwNlibToTSLib as
first stage of reorganization. 2003/10/02.
- Switched the HwNlibToTSLib functions from virtual to normal
functions. (They appeared to be left over from a different
design of the translators.) 2003/10/02.
- Added HW_NO_TSLIB_ASSEMBLIES control to allow turning TSLib
assemblies off. 2003/10/01.
- Attach the proper ID to entities output from TSLib assembly
flattening (if possible). 2003/09/30.
- When making the NURBS version of an offset surface,
reparameterize it so that the NURBS surface output matches
the parameterization of the NURBS form of the base surface.
2003/09/30.
- When exporting B-reps from TSLib, skip non-shell faces
rather than signaling an error. 2003/09/30.
- Improved error message for assembly problems. 2003/09/29.
- Added new FindAttribute helper template function.
2003/09/29.
- Add trial support for offset infinite surfaces. 2003/09/29.
- Trap and report errors in assemblies in TSLib code.
2003/09/29.
- Use GetAttributeID instead of GetType to get the attribute
ID. 2003/09/29.
- When converting assemblies from Nlib to TSLib, convert the
attributes of each assembly instance. 2003/09/29.
- First stab at merging TSLib attributes when unpacking
assemblies. 2003/09/29.
- Wire up a first stab at the new assembly handling code.
2003/09/27.
- Added new PassAssemblyInstance to the
HwTSLibReceptacleInterface. This allows TSLib users to get
high-level assembly information. The default interface for
it just disassembles the assembly into its proper
components. (The default interface does not handle
atributes properly yet.) 2003/09/27.
- Optimization in RemoveIntersectionsFromCurves code which
help when the loop has a very large number of curves.
2003/09/16.
- Tweaked for last version of MSVC++. 2003/09/12.
- When creating an exploded B-rep, give the overall B-rep the
same attributes as the source B-rep. 2003/09/10.
- Added class predeclaration for IwFace. 2003/09/10.
- Added prototpying stuff needed for
HwImportOptions::input_source. 2003/09/10.
- Added ShouldAllSolidsBeExploded interface. Switched
HwPolygonExportingReceptacle to use this instead of
ShouldAllSolidsBeSolids. 2003/09/09.
- Refactored HwNlibToTSLib::CreateBrep. Used refactored code
to add support for new ShouldAllSolidsBeExploded interface
in CreateBrep. 2003/09/09.
- SAT: Use input_source from options to override the normal
low-level file reading code, if specified. 2003/09/08.
- Added AttachInput to not-quite-low-level file reader.
Added input_source member to HwImportOptions. (Only
implemented for SAT so far.) 2003/09/08.
- SAT: Added AttachInput option to reading code. 2003/09/08.
- SAT: Added HwImportOptions to all the read functions (other
than the legacy TSLib read functions). 2003/09/08.
- Introduced the HwLowLevelAsciiInput virtual base class,
with an implementation named HwLowLevelAsciiFileInput, to
create a low level input layer which might be something
other than a file. Then reimplemented
HwLowLevelAsciiReader to work receiving its input from an
instance of HwLowLevelAsciiInput. 2003/09/05.
- Added vertex point info and edge edgepoint info to the
solid dump debugging code. 2003/09/05.
- Tweaked transform transform scaling check slightly.
2003/09/05.
- IGES: If a 308 subfigure tries to incorporate objects with
DE 0, don't bother trying to process the object -- simply
issue the "cannot create object DE 0" message. 2003/09/04.
- When converting a B-rep into a batch of trimmed surfaces,
give each trimmed surface the B-rep's name rather than the
face's name. 2003/08/29.
- Removed _USRDLL from the automatic project/makefile
generator, as it seemed to be causing problems for one
customer. 2003/08/27.
- Moved the error notifying up a notch, so that it gets
called before the B-rep cleanup code gets called.
2003/08/26.
- Rewrote error handling again. 2003/08/26.
- Added SucceessfullyOutput functions to
HwPolygonExportInterface, to allow clients of the interface
to detect whether or not the face/B-rep was completely
written. 2003/08/26.
- Added new cleaning function for external use. 2003/08/26.
- Backed out the last changes. 2003/08/26.
- Check for errors outputting polygon data. 2003/08/25.
- Imported some POPLib code so we can fix it. 2003/08/25.
- IGES, VDAFS: If you're using Standard C++ iostreams, check
for errors writing file. 2003/08/23.
- IGES, VDAFS: Added HW_STD to two instances of ofstream.
(How did these get missed before?) 2003/08/21.
- Further tweak to the old TSLib updates. 2003/08/20.
- Changes to allow the code to work with older versions of
TSLib. 2003/08/20.
- IGES: Added checks for problems writing the file to the
disk. 2003/08/20.
- Expose the IwStatus to string function to the entire world.
2003/08/20.
- Added new error message to indicate problems writing a
file, and used it for HwLowLevelAsciiWriter (ie STEP and
SAT). 2003/08/20.
- Another optimization. 2003/08/14.
- Another tweak. 2003/08/14.
- Tweaks. 2003/08/14.
- Fixes for new code. 2003/08/14.
- Moved ComputeLoopOrientations to HwTSLibTrimmingTools.
2003/08/13.
- Make the CheckFace code use the new ComputeLoopOrientations
function. 2003/08/13.
- Added what I believe is a check for slit loops. 2003/08/13.
- Incorporates code to calculate the orientation of every
loop on a face at once, and tests it against the old
method. 2003/08/13.
- Allow HwPolygonExportingReceptacle to not try to rescale
the model by specifying HW_U_NO_UNITS_SPECIFIED as the
units desired. 2003/08/11.
- STEP: Worked around ProE assembly naming bug. 2003/08/10.
- STEP: Tweaks to error handling. 2003/08/06.
- Modified so that it works with TSLib (no IwPoly.h or
IwTess.h). 2003/07/22.
Changes for IGES 1.4.7/VDAFS 1.3.1/STEP 1.1.7/SAT 1.0.2/OpenNurbs 1.0.2 |
|
- SAT: Added rule for non-manifold shells back in.
2003/07/20.
- SAT: Switch body from using NMTBrep to Assembly where there
are multiple shells. 2003/07/20.
- Added function to return HwUnits names as a string in
(American) English. 2003/07/17.
- Rearranged HwPolygonExportingReceptacle member variable and
constructor list a bit. Added code to support scaling to
units. 2003/07/17.
- Removed \0 that had snuck in somehow. 2003/07/14.
- When converting a solid face to a trimmed surface, if all
the loops are vertex loops, mark the surface as having
natural outer loops. 2003/07/14.
- Simplified and rearranged the HwPolygonExportInterface a
touch. 2003/07/13.
- IGES,VDAFS: Explicitly qualified uses of ofstream. 2003/07/12.
- openNURBS: Added #define to turn off ON_nil_uuid if needed.
2003/07/11.
- SAT: Removed very obsolete files. 2003/07/11.
- Modified the attribute classes so that they have real types
(instead of just lying and claiming they were
IwVector3dAttributes). 2003/07/10.
- openNURBS: Changed headers so that HwTSLibOpenNurbs.h can
get the version number from HwOpenNurbs.h without loading
in all the opennurbs headers. Eliminated dead code from
HwOpenNurbs.h. 2003/07/10.
- Change HwMessageLogger class so that it can accept an
external ostream and output to that. Removed "using
ofstream" and explicitly qualified all the uses of ofstream
as HW_STD::ofstream. 2003/07/10.
- STEP: Added template predeclarations. 2003/07/09.
- Predeclare some more useful vector types. Tweak the
definition of the predeclare macro so it can handle vectors
of template classes. 2003/07/09.
- STEP: Changed all the generated classes to use IW_EXPORT.
2003/07/09.
- Automatically turn off the annoying MSVC++ 7.1 Koenig
lookup warning. 2003/07/09.
- Converted char * to HwStdString a number of times in the
polygon export code. 2003/07/09.
- Switched HwPolygonToSTL to the more generically useful
HwPolygonExportWrapper. 2003/07/08.
- IGES: Updated documentation a tad. 2003/07/08.
- Marked HwPolygonExportingReceptacle IW_EXPORT. 2003/07/07.
- Added HwPolygonExportInterface::CompletedOutput function.
Added HwPolygonExportToSTL class. 2003/07/07.
- First cut at including geometry to polygon code into the
core. 2003/07/07.
- Fixed for Standard C++ headers. 2003/07/03.
- SAT: Don't "fix" 0.0 edge tolerance to 1e-6 edge tolerance;
the two things have different meanings. 2003/07/03.
- Fixed insanely stupid typo in
HwNlibSURFACE::CanEvaluateDeriv. 2003/07/03.
- Reflect the move of N_surder into mNlib package.
2003/07/02.
- SAT: Tolerance sanity check. 2003/07/02.
- Filter out weird GCC 3.2 psuedo-files from the dependency
list. 2003/06/30.
- Use HarmonyWare evaluation tools before trying TSLib
LiftCurve. 2003/06/30.
- Fixed error in HwNlibCone::EvaluateDeriv. 2003/06/29.
- Fixed HwNlibSolidLoop::FixUVHoles to handle the case where
the edge before a new vertex edgeuse is backwards.
2003/06/29.
- openNURBS: Fixed bug in handling of vertex edgeuses.
2003/06/29.
- SAT: Scale parameters on plane correctly. 2003/06/28.
- Rewrote the code for converting a parameter space only
trimmed surfaced to a model space trimmed surface using
curves on surface. Added experimental code to try this
automatically if there are no model space loops and a trim
fails, but the experiment is turned off. 2003/06/28.
- Added BreakUpCurve function. 2003/06/28.
- Added body for HwNlibSURFACE::EvaluateDeriv. 2003/06/28.
- Refactored HwNlibSURFACE::CanEvaluate a bit. 2003/06/28.
- Removed some obsolete code. 2003/06/28.
- Added changes from Gary which add a #define
(IW_TRANSLATORS_LIBERAL) which makes the translator import
correctness checks looser. 2003/06/28.
- Loosened tolerance in check for near singularity.
2003/06/27.
- Loosened 2D tolerance a bit for
HwTSLibTrimLoop2d::FillInGaps. 2003/06/27.
- Properly initialize solid edge tolerance. 2003/06/27.
- Don't try to insert an empty vector of knots. 2003/06/26.
- SAT: Switched handling of scaled u values on proper cones.
Added some debugging tests (currently switched off).
2003/06/26.
- Improved debugging tools. 2003/06/26.
- Added HwNlibCurve::GetTypeString functions. 2003/06/26.
- SAT: Handle the case of a torus which has negative major
radius. 2003/06/24.
- Import edge tolerance from HwNlibBrep to IwBrep.
2003/06/23.
- Adding tools for cleaning/simplifying HwNlibCurves
(including those in the edges of a B-rep) by running them
through TSLib. This should convert any and all far out
types to simple NURBS. 2003/06/23.
- Added non-const version of HwNlibSolidComponent::GetEdge.
2003/06/23.
- IGES,STEP: Use the new NormalizeWeightsIfOutOfRange function
when importing NURBS curves. 2003/06/22.
- Added curve version of NormalizeWeightsIfOutOfRange
function. 2003/06/22.
- If HW_USE_STANDARD_LIBRARY is defined, force HW_STD to be
"std". 2003/06/22.
- Added #undef ERA so it would compile under GCC 3.2.2.
2003/06/20.
- SAT: Another fix to the reverse_v/reversed_v messup.
2003/06/13.
- Allow slop in HwNlibCURVE::EvaluateDeriv. 2003/06/13.
- Added HwNlibCone::EvaluateDeriv, and cleaned up
HwNlibCylinder::EvaluateDeriv. 2003/06/13.
- Added HwNlibPlane::EvaluateDeriv. 2003/06/13.
- Discovered we needed to add the endpoints before calling
ApproximateCurve. 2003/06/13.
- Added new rule to use IwCurve::ApproximateCurve to
calculate the CurveOnSurface value if the HwNlibSurface
does not have NURBS parameterization. 2003/06/13.
- Added HwNlibCurveOnSurface::EvaluateDeriv function.
2003/06/13.
- Added HwTSLibCurveInternalNlib class for aid in handling
the dreaded curve on surface problem. 2003/06/13.
- Avoid crash deleting non-existent curves if DropCurve
fails. 2003/06/12.
- SAT: When creating an HwNlibCurveOnSurface, bind the
surface if it is infinite, using the UV domain of the UV
curve. 2003/06/12.
- SAT: Factored out code for creating curves on surfaces.
2003/06/12.
- SAT: Added blendsupcur type to type rules. 2003/06/12.
- SAT: Switch MakeCurve functions to return autoptrs.
2003/06/12.
- Added UV-based BoundInfinite member to the HwNlibSurface
family of classes. 2003/06/12.
- Corrected the magnitude on the HwNlibSurface::EvaluateDeriv
results. 2003/06/12.
- Allow infinite HwNlibSurfaces to be used to lift curves.
Bypass LiftCurve continuity checks. 2003/06/11.
- Added EvaluateDeriv functions for inverted, swapped, and
reparameterized surfaces. 2003/06/11.
- Added EvaluateDeriv for HwNlibCylinder. 2003/06/11.
- Glue together the
HwNlibExporterInterface::InterfaceRequiresSyncedUVCurves
and HwTSLibToNlibObject::SetRequiresSyncedUVCurves so that
B-rep export uses the proper settings for each translator.
2003/06/10.
- Add SetRequiresSyncedUVCurves/GetRequiresSyncedUVCurves
members to HwTSLibToNlibObject, and used them in
HwTSLibShellExporter::ConvertBrep to control whether or not
the UV correction code is called. 2003/06/10.
- Added virtual function InterfaceRequiresSyncedUVCurves to
the export interface. This allows each interface to
specify whether it needs cleaned up UV curves for B-rep
export. 2003/06/10.
- Use HwNlibSurface::GetTypeString to diagnose the type of
surface involved if we have an HwNlibCurveOnSurface and the
surface cannot calculate derivatives. 2003/06/10.
- Added HwNlibSurface::GetTypeString function for all
HwNlibSurface classes. 2003/06/10.
- Have HwNlibObjectToTSLib::ConvertCurveOnSurface use
HwTSLibSurfaceInternalNlib (if possible) if the surface
does not have proper NURBS parameterization. 2003/06/10.
Changes for IGES 1.4.6/VDAFS 1.3.0/STEP 1.1.6/SAT 1.0.1/OpenNurbs 1.0.1 |
|
- SAT: Turn surfcurs off -- always use exactcurs for now.
2003/06/03.
- SAT: Reverse a pcurve's curve if the face orientation is
reversed, and swap and negate its parameter values if the
coedge orientation is reversed. 2003/06/02.
- SAT: Get proper orientation on pcurve surface reference.
2003/06/02.
- SAT: Switched the ExpParcur to use MakeCopy to copy its
surface. 2003/06/01.
- SAT: First attempt to use new MakeCopy facility.
2003/06/01.
- SAT: Added BSplineCurve and BSplineSurface ::MakeCopy
functions. 2003/06/01.
- SAT: Added CopyTo and MakeCopy members to the SAT classes.
2003/06/01.
- SAT: Register subtypes so they are deleted properly.
2003/06/01.
- SAT: Added HwSatFile::AddSubtype so you can register
subtypes to be properly deleted. 2003/06/01.
- SAT: Changes to pcurve orientation. 2003/06/01.
- SAT: Added FillInIntcur function to interface. 2003/05/31.
- SAT: Added renumbering facility to HwSatData/HwSatFile.
2003/05/31.
- SAT: Try writing intcurs as surfcurs. Several minor bounds
modifications. 2003/05/31.
- SAT: Indicate that closed surfaces are periodic rather than
just closed. Output 1, 0 as surface bounds. (Don't know
why, exactly, but it's what the files from ACIS seem to do
on normal exactsurs.) 2003/05/30.
- SAT: Calculate singularity info on surfaces so that it can
be properly output. 2003/05/30.
- SAT: Changed BSpline surface class to have (string) members
with singularity info, and use those for I/O. 2003/05/30.
- Changed SplitAtSeams to treat a single loop classified as
"unknown" as if it is an outer loop (which seems to be the
more common case). 2003/05/28.
- When trimmed curves off the surface forces a new tolerance,
make the new tolerance half the distance from the curve to
the surface rather than twice the distance. 2003/05/28.
- Include the curve length in the logfile when deleting
degenerate 3D curves. 2003/05/28.
- SAT: Export curves as wire bodies or wire shells, as
appropriate (I hope!) for the version of ACIS which the
file is targeting. 2003/05/27.
- SAT: Support importing curves from wire data, whether it is
a wire body or a wire shell. 2003/05/27.
- When exporting a B-rep, call FixUVParameterization to make
sure the parameterizations of the 3D edge and UV edge cover
the same range. 2003/05/27.
- Added FixUVParameterization function to solid components
interface. 2003/05/27.
- SAT: Added LawData and Lawintcur classes. 2003/05/22.
- SAT: Added HwSatLawDataWrapper class. 2003/05/22.
- When doing all-parameter-based curve trimming, check to see
if we can simply use the entire curve. Force
HwNlibCURVE::Evaluate parameter value to the curve's
parameter space. Allow a bigger tolerance for detecting
closed curves. 2003/05/19.
- In MakeEllipse, check for end points (as projected on
ellipse) very close together, and assume the entire ellipse
is desired if they are. 2003/05/15.
- SAT: Changed the plane reading code to automatically accept
both reverse_v and reversed_v no matter what the version of
the ACIS file is. 2003/05/15.
- SAT: Fixed the real memory leak this time. 2003/05/14.
- SAT: Undid the last fix, which turned out to be wrong.
2003/05/14.
- SAT: Plugged two memory leaks. 2003/05/14.
- Fixed memory leak. 2003/05/14.
- openNURBS: Change ProcessSurface to return HwStdAutoPtr,
plugging a memory leak in the process. 2003/05/14.
- openNURBS: Changed ProcessBrep to return a HwStdAutoPtr,
and eliminated memory leaks in the process. 2003/05/14.
- openNURBS: Changed ProcessCurve to use HwStdAutoPtr,
plugging a few memory leaks in the process. 2003/05/14.
- openNURBS: Change ProcessPoint to return an HwStdAutoPtr
instead of a raw pointer, helping to plug a memory leak.
2003/05/14.
- openNURBS: Cleaned up memory leak. 2003/05/14.
- openNURBS: Don't read the Z coordinates in a NURBS curve
unless the curve has more than two dimensions. 2003/05/14.
- Cleaned up new memory leak. 2003/05/13.
- Changed HwTSLibSurfaceInternalNlib::Evaluate to return the
UV derivative if requested. 2003/05/13.
- Changed HwNlibSurface::EvaluateDeriv to return UV
derivative too. 2003/05/13.
- Refactored the curve lifting code. 2003/05/13.
- Added EvaluateDeriv to HwNlibStraight. 2003/05/08.
- Added HwTSLibSurfaceInternalNlib class, to allow us to lift
curves to HwNlibSurfaces which can be evaluated.
Implemented code to try to do so if there are no usable
loops on a surface (ie parameter only and the surface does
not have NURBS parameterization and the library is not
using Advanced Nlib). 2003/05/06.
- Added CanEvaluateDeriv and EvaluateDeriv interface to base
class, and implemented them for HwNlibSurfaceOfRevolution.
2003/05/06.
- Added CanEvaluateDeriv and EvaluateDeriv interface to the
base class, and implemented them for the HwNlibCURVE class.
2003/05/06.
- Changed comment to indicate that HW_USE_STANDARD_STREAMS
now works. 2003/04/26.
- Add facility to allow whitespace in double values in
standard ASCII files (needed by STEP). 2003/04/25.
- Added HW_STD:: to uses of ostream. 2003/04/25.
- Modified to eliminate "using cerr". 2003/04/25.
- Modified to use new-style header for new.h if
HW_USE_STANDARD_STREAMS has been defined. 2003/04/25.
- TrimAroundCurve and attendant patches for
HwNlib3DTrimmedCurve::MakeNurbs. 2003/04/24.
- Only perform singularity check in
HwTSLibIwFaceAssembler::CheckLoop if the surface is closed
in one (or both) directions. 2003/04/23.
- Factor in 3D tolerance in CheckLoop. 2003/04/22.
- openNURBS: Use the special HwNlibCurveOnSurface processing
for all closed curve edge geometry (even if the edge is
open). 2003/04/22.
- STEP: Added progress tracker heartbeat in B-rep
construction. 2003/04/20.
Changes for IGES 1.4.5/VDAFS 1.2.9/STEP 1.1.5/SAT 1.0.0/OpenNurbs 1.0.0 |
|
- Changed Trim calls to use a variable instead of a temporary
IwExtent1d. 2003/04/19.
- Added TSLib-based support for some HwNlibCurveOnSurface
objects. Reworked HwNlib3DTrimmedSurface support a bit in
the process. 2003/04/19.
- Added member access functions for HwNlibCurveOnSurface.
2003/04/19.
- SAT: Always reverse the normal on a cone, whether or not
the cosine value is negative. (As the cosine is already
factored into the angle of the cone, it does not need to be
accounted for again.) 2003/04/18.
- Detect IwGenericAttributes and convert them to
HarmonyWare-specific attributes when appropriate when
exporting a file. 2003/04/18.
- Changed the internal HwTSLibCreateAttribute to an external
function named HwTSLibCreateAttributeWithStatus.
2003/04/18.
- Fix double-delete problem in NMT export code. (Which still
doesn't work properly, but at least it doesn't crash at the
moment.) 2003/04/17.
- Made error correction more generous on
HwNlibSURFACE::Evaluate. 2003/04/17.
- SAT: If a plane has x_axis vector which is zero, create a
non-parameterized plane instead. Make sure
non-parameterized planes are wrapped in an ignore
parameterization surface. 2003/04/17.
- SAT: Changed "unable to make face" error to send the reason
for failure as well. 2003/04/17.
- Added HwNlibSurfaceOfRevolution::Evaluate. 2003/04/17.
- Added HwNlibCurveOnSurface::GetMinMaxBox. 2003/04/16.
- Minor changes to clean up
HwNlib3DTrimmedCurve::GetMinMaxBox. 2003/04/16.
- SAT: Changes to handle plane parameterization. 2003/04/16.
- In HwNlibBrep::MakeCopy, if the B-rep is empty, throw an
error. 2003/04/16.
- STEP: In B-rep fallback path, if we are not able to make
any of the faces, signal an error instead of returning an
empty B-rep. 2003/04/16.
- SAT: Fixed extremely stupid order-of-execution bug.
2003/04/16.
- openNURBS: Automatically write trimmed surfaces as B-reps.
2003/04/15.
- STEP: Added ability to count shell_based_surface_models.
2003/04/15.
- STEP: Extended entity counting to handle the fallback cases
that SendToInterface uses if it can't get a clean product
to send. 2003/04/15.
- STEP: Extended entity counting to handle the fallback cases
that SendToInterface uses if it can't get a clean product
to send. 2003/04/15.
- Added HW_BOOL_IS_INT define for those whose system defines
it that way itself. (So HW_NO_BUILTIN_BOOL defines bool to
be int and then sets this new define now.) 2003/04/15.
- STEP: Allow entities to be missing the final closing
parenthesis -- we don't really need it, and at least one
system was occasionally forgetting to write them out.
2003/04/14.
- STEP: Took out a check for the plane_angle_unit entity, as
some systems don't send it, and the check for radians is
probably just as useful in practice. 2003/04/14.
- STEP: Refactored out a FillInHeader member, to facilitate
getting the HwHeaderInfo for the file as quickly as
possible. 2003/04/11.
- Fixed the double-scaling problem in the plane code.
2003/04/10.
- IGES: Updated for latest HwNlibPlane code. 2003/04/09.
- IGES: Added color 10101 hack for add in testing. 2003/04/09.
- Switched HwNlibPlane to use x_min, x_max, y_min, and y_max
for boundaries. (In case the plane base isn't anywhere near
the interesting area.) 2003/04/09.
- openNURBS: Changes (from Gary) to use Rhino's memory
handler. 2003/04/08.
- Updated HwNlibPlane to scale its parameter space properly.
(I hope.) 2003/04/08.
- STEP: Treat shell_based_surface_model the same way as a
B-rep -- if it fails, create all the available faces.
2003/04/07.
- STEP: Recover from serious errors reading the data section.
2003/04/07.
- Turned off the quadratic equation checking. It used a full
assert, and it was probably never going to catch anything
but tolerance issues anyway. 2003/04/06.
- Change MakeEllipse so that if asked to create an ellipse
greater than 360 degrees, it just makes one 360 degrees.
2003/04/06.
- SAT: Rewrite the p-curve based MakeCurve function to make
it more flexible. Support the imppc parameter curve type.
2003/04/06.
- Debugging HW_STD::cout code added, appropriately turned off
by default. 2003/04/06.
- SAT: Added imppc. 2003/04/06.
- SAT: Added mysterious field on many 8.0 topology types.
2003/04/06.
- SAT: TEdge/TCoedge support added. 2003/04/06.
- SAT: Add TCoedge and TEdge entity types. 2003/04/06.
- SAT: Improvements to the static Get function generator.
2003/04/06.
- SAT: Added very basic sweepsur support. Switched much of
the interface to auto_ptrs. 2003/04/05.
- Added HwNlibSweptSurface class. 2003/04/05.
- Added auto_ptr version of
MakeIgnoreParameterizationSurface. 2003/04/05.
- SAT: Added a TAPER VERSION #define. 2003/04/05.
- SAT: Added tapersur family tree. 2003/04/05.
- SAT: Fixed major bug in "CanCastTo" code. 2003/04/05.
- SAT: Check to see if we can cast to an intcur before doing
so, report error otherwise. 2003/03/27.
- Improvements to the code for handling 3D trimmed curves
where the curve is closed and the start parameter value is
greater than the end parameter value. 2003/03/26.
- Fixed buildfile_dir for hw_nlib_core. 2003/03/25.
- IGES: Made WriteCurve and WriteSurface (Nlib versions) take
const arguments, so that they properly overload the virtual
functions in HwNlibExporterInterface. 2003/03/25.
- IGES: Added support for type 106, form 63. 2003/03/25.
- SAT: Handle the EDGE case in HwSatLaw. Handle the null_law
case in HwSatLaw. Handle the laws in a skinsur (using
HwSatLawWrapper). Added faked in pcurve handling for
skinsur. 2003/03/24.
- SAT: HwSatLawWrapper class (to allow use of laws in an
array). 2003/03/24.
- SAT: Read @ before string length for version 7+ files.
2003/03/24.
- SAT: Added offset surface type. 2003/03/23.
- SAT: Added CanSafelyCastToType virtual functions.
2003/03/23.
- IGES: Minor adjustment to compensate for translators too
stupid to properly write out 126 bounds. 2003/03/19.
- SAT: Skip vertex edgeuses when writing B-reps. (Not sure
if this is technically right, but it seems to work.)
2003/03/17.
- Extra test in FixMisplacedEdgeOnSeam to handle the case
where the previous edge is the wrong one. (Needed because
the other end of the previous curve might be a
singularity.) 2003/03/13.
- Modified use of new primitive singularity check to make
sure the end points are close in 3D space before calling
it. 2003/03/12.
- Wrote simple function to check for a singularity between
two points on a surface by checking to see if the endpoints
are close as well as the midpoint (in UV space) between
them. 2003/03/12.
- Repeatedly try to SplitAtSeams and clean up the ensuing
model at broader tolerances if CheckFaces fails.
2003/03/12.
- Add new check to CheckFaces which should help distinguish
between curves on the wrong side of a seam (bad) and curves
near singularities (okay). 2003/03/12.
- IGES: Treat independent annotation entities (which are
geometrical in nature) as independent geometry entities,
only tagged with the HwNlibAnnotationProperty. 2003/03/12.
- Added code to convert back and forth between
HwNlibAnnotationProperty and HW_AIH_ANNOTATION tags.
2003/03/12.
- Add IW_AIH_ANNOTATION TSLib attribute (using
IwLongAttribute class) and handle it properly for file I/O.
2003/03/12.
- Added HwNlibAnnotationProperty attribute. 2003/03/12.
Changes for IGES 1.4.4/VDAFS 1.2.8/STEP 1.1.4/SAT 0.5.3/OpenNurbs 0.4.5 |
|
- STEP: Fixed STEP RGB color scaling value bug. (Previously
had assumed colors were coming in scaled 0-100, but actually
they were scaled 0-1.) 2003/01/28.
- IGES: Count 184 entities properly. 2003/01/29
- IGES: Added import support for entity type 184 (used by
Rhino). 2003/01/29.
- openNURBS: Fixed the case on includes of HwOpenNurbs.h
(some files used to call it HwOpenNURBS.h). 2003/01/29.
- openNURBS: Added an
#ifdef _MSC_VER around a
declaration so things would work on the Linux box. 2003/01/30.
- Added
HwExportOption member to the main export
function for all translators. Also marked all the older export
functions as "deprecated", sometimes removing documentation in
the process. 2003/02/03.
- IGES: Changes to allow IGES export to suppress either model
space or parameter space loops, using the
HwExportOptions system. 2003/02/04.
- Added
HwNlibIgnoredParameterizationSurface
type, to help with SAT. 2003/02/05.
- Modified
HwNlibCurveOnSurface to check to see
if the surface can be evaluated before trying to do so.
2003/02/05.
- SAT: Block use of parameter space on analytic surfaces.
2003/02/05.
- Corrected the
start_v value for
HwNlibCylinder::GetParameterRange . 2003/02/06.
- Changed
HwNlibInvertedSurface to allow
evaluation. 2003/02/07.
- Added
HwStdAutoPtr version of the
MakeInvertedSurface function. 2003/02/07.
- Added needed MS template pre-declaration. 2003/02/07.
- openNURBS: Use version control member of
HwExportOptions to control Rhino export version.
2003/02/07.
- Added
standard_version_to_write to
HwExportOptions . 2003/02/07.
- SAT: Modified cylinder code so it has the proper SAT
parameterization (I hope!) 2003/02/07.
- SAT: Reversed normal orientation on cylinders (which,
combined with the reversing effect of the swapped surface, puts
it back to where it was before yesterday's changes). 2003/02/07.
- SAT: Added IgnoreParameterization surfaces after
InvertedSurfaces, so that we can safely upgrade the
InvertedSurface to allow evaluation (if the underlying surface
can be evaluated, that is). 2003/02/07.
- Adjust tabulated cylinder bound infinite code to accomodate
non-planar generating curves. 2003/02/12.
- Changes from Gary Crocker to work with his latest version
of NMTLib. 2003/02/20.
- Increased
HwNlib3DTrimmedCurve::GetMinMaxBox
sample size, added logic for complete circles. 2003/02/27.
- Replaced the extremely stupid
HwNlib3DTrimmedCurve::GetMinMaxBox with a very
which is much smarter (if more approximate) if we can evaluate
the curve being trimmed. 2003/02/27.
- Adjust v scale properly on BoundInfinite cone/cylinder.
2003/02/27.
- Tweaks to the
HwNlib3DTrimmedCurve::GetMinMaxBox function to make
it work well against our sample files. 2003/03/01.
- openNURBS: Trim edges by vertices. 2003/03/02.
- SAT: Changes so cones and cylinders are parameterized
properly. 2003/03/02.
- Updated
HwNlib3DTrimmedCurve::MakeNurbs to
handle the same weird cases that the TSLib equivalent does.
2003/03/05.
- openNURBS: Updated to properly handle closed edge curves.
2003/03/05.
- Changed
HwNlibCylinder to use
p_min_v , p_max_v instead of just
p_height. 2003/03/06.
Changes for IGES 1.4.3/VDAFS 1.2.7/STEP 1.1.3/SAT 0.5.2/OpenNurbs 0.4.4 |
|
- STEP: Allow
toroidal_surface to have a negative
radius -- treat it the same as a positive radius unless
the surface is degenerate, in which case treat it as if
select_outer was false. 1/2003.
- Fixed bug in the code to fix edges ever-so-slightly on
the wrong side of a seam -- previously it would reverse
the edges half of the time. 1/2003.
- Added
HwTSLibCreateAttribute function.
If you write or read IW Part files, it is very important
that you add this function to your IwContext
so that TSLib knows how to decode HarmonyWare attributes.
1/2003.
- Added
tolerance_scaling member to
HwImportOptions , which allows you to scale
the tolerance found in the file being imported. 1/2003.
- Added
HwNlibPipeSurface class to help
support Acis pipesur entity. Not properly
tested yet. 1/2003.
- Added
FindSingularities virtual
function to the HwNlibSurface interface. 1/2003.
- Fix holes in the UV representation of B-rep loops converted
from
IwBrep to HwNlibBrep format. 1/2003.
- OpenNurbs: Fixed export so that it should work now. 1/2003.
- OpenNurbs: Split the
HwNlibONProcessor class
so that single entities can be processed without reference
to an ON file. 1/2003.
- OpenNurbs: Split the
HwNlibONWriter class
so that single entities can be processed without reference
to an ON file. 1/2003.
- OpenNurbs: Upgraded to work with OpenNurbs 3.0. 1/2003.
- SAT: Process
sumsur if it is really
a tabulated cylinder. 12/24/2002.
- Realign spheres again. 12/2002.
- Realign torii the same way spheres once were. 12/2002.
- SAT: Properly handle spheres with negative radii. 12/17/2002.
- Changed parameterization for NURBS version of ruled surface
to match the IGES spec (ie [0,1] by [0,1]). 12/12/2002.
- Added parameterization correction for conical ruled
surfaces, 12/11/2002.
- Fixed
HwTSLibSurface::FindPlane so that it
maintained the normal orientation properly. 12/5/2002.
- Disabled the code which paid attention to the normal sent
with the IGES offset surface entity, as it seemed to be
causing trouble with some correct surfaces. 12/4/2002.
- Made a new version of
HwTSLibReceptacleInterface::PassEntityCounts
which has the additional information found in the Nlib
interface version of the function. By default, the new
function simply passes the information along to the old
version of the function, for backward compatiability.
12/3/2002.
- IGES: Report entity counts to the log file. 12/3/2002.
- IGES: Don't count planes unless they are actually going
to generate trimmed surfaces. 12/3/2002.
- STEP: Fix the Alibre units fix (last release) so it actually
works. 12/2/2002.
- Allow inner loops to register as "unknown" in loop
classification. 12/1/2002.
Changes for IGES 1.4.2/VDAFS 1.2.6/STEP 1.1.2/SAT 0.5.1/OpenNurbs 0.4.3 |
|
- Tweaked
HW_STD definition so it will work on
with Microsoft Visual .NET (7.0) compiler.
- Added
GetMinMaxBox virtual function to the
basic HwNlibObject interface -- it returns a
bounding box for any object.
- OpenNURBS: Entity counting is enabled.
- SAT: Reworked control flow so that entities are created as
needed, rather than being created and stored in case they
might be useful in the future.
- STEP: Given a file using the Alibre schema, use those
extra entities to determine what the preferred units for
the model are.
- SAT: Implemented file reading for BlendSupport entities.
(We don't know what they mean, yet, but we can read them
in.)
- SAT: Added
VarRadius ,
VarCrossSection , and Radius .
- SAT: Added summary BSpline surface support.
- SAT: Added I/O for
Blendintcur ,
Sumsur , and Blendsur . In most
cases we can't do anything useful with this information
yet.
- SAT: Support reading 7.0 files. (May not do everything
correctly yet, but our 7.0 sample files seem to work about
as well as the older versions.)
- IGES: Handle assembly instances marked as not being
geometry correctly. (This worked under the previous
assembly setup, and now works again with the new one.)
- IGES: Try to compensate for the broken Pro/E B-rep handling
by subtracting two from the shell DE if the entity pointed
to by the DE is not a shell.
- IGES: When reading 114 entities, check to make sure the
number of segments is non-zero in each direction.
- IGES: Better logging of problems reading subfigures.
- When correcting circle parameterization, solve for both the
x and y coordinates and then take the most accurate answer.
- Apply scaling to vector transforms.
- Merge names when creating entities from assemblies, so that
an entity's name will reflect all the owning assemblies,
too.
- Allow
HwNlibCoordinateSystem entities to be
transformed with a scaling transform. (The scaling is
ignored; previously it was an error.)
- STEP: Trim curves using actual tolerance. (Used to be
hardcoded to .004.)
- STEP: Better names for assemblies.
- STEP: Count mapped items properly.
- Corrected cone apex calculation when
p_scale_v
is not equal to one.
- Corrected
AssertSurfaceAndNURBSAgree check in
cone code to work properly when p_scale_v is
not equal to one.
- When handling a surface of revolution, check (if possible)
in 3D space to see if the surface is closed within tolerance,
and make it actually closed in that case.
- SAT: Improved error handling.
- SAT: Actually got around to implementing
HwSatIdentifier::GetName (it used to just
report "Not yet implemented).
- STEP, OpenNURBS: Report entity counts in the message logger
at the beginning of a file read. (This will make it to the
other translators in an upcoming release.)
- Removed
ValidatePointers call from
HwTSLibSimpleReceptacle::PassTrimmedSurface ;
this gets rid of a recent speed hit when you pass trimmed
surfaces as a single B-rep.
- If a 3D trimmed curve is closed and has endpoints extremely
close together, assume it is meant to be the complete curve
rather than an impossibly short segment of it.
- If a surface is planar within tolerance and you are doing
model space trimming, switch to using an actual plane.
- Handle the case of a B-rep with only one face (which is
closed) and no loops at all -- likely a sphere or a torus.
- Try to adjust tolerance based on the overall size of the
model.
- If trimming loops do not lie on the surface, and the
surface is not closed, force them to the surface, no matter
how far away they are.
- Do not remove intersections from 3D loops if the surface
is closed. (Because seams can do funny things to loops.)
- Shrink the tolerance on a surface if its loops are very
small.
- When doing a crude curve drop onto a surface, skip points
which lie on a seam.
- When checking for loop integrity, compare the distance
between each coordinate of the edges' endpoints, rather
than the 2D distance -- this allows tolerance by
coordinate, which is a vast improvement. (Because the
scales of U and V may be wildly different.)
- Use edge interval in
SplitAtPoles rather than
curve interval.
- Use tighter parameter space check tolerance in
SplitAtPoles .
- Made
FixTrimLoopOrder rather smarter.
Changes for IGES 1.4.1/VDAFS 1.2.5/STEP 1.1.1/SAT 0.5.0/OpenNurbs 0.4.2 |
|
- Change break angle for
MakeSmoothCurvesFromLinearPath . 9/28/2002.
- VDAFS: Added
SetFile interface to
HwVdafsFileWriter so that it doesn't require
the user to construct an ostream . 9/28/2002.
- STEP: Create B-rep solid component information on a
shape_representation by
shape_representation basis, rather than the
entire file in one object. (This makes the translator
massively more memory efficient on complicated STEP
assembly files -- one sample file used a gigabyte less
memory to process.) 9/27/2002.
- IGES: Added
SetFile interface to
HwIgesFileWriter so that it doesn't require
the user to construct an ostream (as I got
reports that was dicey in MSVC++ 7.0). 9/26/2002.
- If torus has equal major and minor radii, make the edge of
the torus on the inside. (Otherwise there would be a
degenerate point in the middle of the torus surface.)
- When getting the parameter value of a 3D point to trim a
curve with it, adjust that value if it is very near one of
the curve's knots.
- Slightly better error messages on B-rep construction
failures.
- In
HwNlibCircle::MakeSingleNurbs , if the
circle is very short and so virtually a straight line, just
make it a straight line. (As Nlib tends to fail in that
case.)
- Added
HwNlibCircle::GetEndPoints function
to improve efficiency.
- Changes which should prevent a crash if the translator runs
out of memory copying B-rep internal solid components.
- STEP: Figure out units on a B-rep by B-rep basis instead of
assuming the entire file uses the same units. Translate
all B-reps to be in the same units.
- STEP: When trying to figure out the orientation of a
transformation, consider the
shape_representation and all of it's
associated representations.
- OpenNurbs: If a face being imported is reversed, reverse
the surface and loops instead of using the reversed face
flag (which apparently doesn't work). 9/18/2002.
- Allow creation of a zero-length
HwStdString
using the char * , length constructor. 9/17/2002.
- OpenNurbs: If there is no name on a part, do not create
a name property for it. 9/10/2002.
- STEP: If a
shape_representation has been
output in the product processing phase, do not output
anything else once that phase is over. 9/6/2002.
- STEP: When a B-rep cannot be created at the low-level,
report the reason why to the log file. 9/4/2002.
- When a B-rep cannot be created because something is
wrong topologically, have the error reflect what the
problem is. 9/4/2002.
Changes for IGES 1.4.0/VDAFS 1.2.4/STEP 1.1.0/SAT 0.4.9/OpenNurbs 0.4.1 |
|
- IGES: Added analytic surface export during B-rep export.
This is currently hard-wired on, but a switch will be
provided soon. 9/2/2002.
- Added analytic surface conversion when going from
IwSurface to HwNlibSurface . This
is currently hard-wired off, but a switch will be
provided soon. 9/1/2002.
- STEP: If a
shape_representation is owned by
a property_definition , do not output it as
geometry without an enclosing product . 8/30/2002.
- Added
HwNlibSurface::IsClosed virtual function
to support the previous fix. 8/29/2002.
- Fixed logic mistake in
HwNlibTrimmedSurface::AreTrimLoopsCorrectlyOrdered .
Before, if there was only one loop, it was assumed to be an
outer loop. But it could have been the inner loop of a closed
surface. 8/29/2002.
- Added new
FixMisplacedEdgeOnSeam function to
HwTSLibTrimmingTools . It checks for the case
where a loop edge is less than tolerance over a seam,
causing it's UV curve to come out on the wrong side of the
seam (relative to the rest of the loop). 8/27/2002.
- Updated
HwTSLibTrimmingTools to match the
latest IntegrityWare changes in the equivalent code.
8/26/2002.
- OpenNURBS: Import entity layers/levels. 8/26/2002.
- OpenNURBS: Import entity names. 8/26/2002.
- Fixed reversed logic in B-rep void shell code. 8/21/2002.
- When calculating a minmax box for a generic
HwNlibCurve , instead of using a very tight
tolerance (which can cause trouble with some curves)
use a loose tolerance and then grow the box by that
tolerance in all directions. 8/21/2002.
- STEP: If a B-rep fails to be properly constructed, send its
faces as trimmed surfaces and DO NOT signal an error -- the
error would cause those surfaces to be immediately thrown
out. 8/20/2002.
- STEP: Make high-level
shape_representation
processing more robust. 8/20/2002.
- STEP: Allow '$' as an alternate for '*' when reading
indices. 8/20/2002.
- STEP: When processing angle units, make sure the entities
are actually in the file before trying to read them.
8/20/2002.
- STEP: Do not halt import if you are unable to determine the
units used. 8/20/2002.
- STEP: When processing units, make sure the unit entities
are actually in the file before trying to read them. 8/20/2002.
- OpenNURBS: Import colors. 8/19/2002.
- Patched export memory leaks. 8/17/2002.
- Eliminated uninitialized variable glitch in the trimmed
surface creation code. 8/17/2002.
- VDAFS: Patched import memory leaks. 8/16/2002.
- SAT: Import curves (via edges) as stand-alone entities. 8/16/2002.
- SAT: Rewrote
MoveBodiesUp to
MoveEntitiesUp , so that any sorts of entities
could be moved to the top of the file. 8/16/2002.
- SAT: Export curves (via edges) as stand-alone entities. 8/16/2002.
- If removing degenerate curves removes more than half the
length of a 3D loop, reject that loop with an error. 8/15/2002.
- VDAFS: Moved major data structures from
HwStdMap
to HwStringMap for efficiency. 8/14/2002.
- Created
HwStringMap template to allow more
efficient maps of strings. 8/14/2002.
Changes for IGES 1.3.9/VDAFS 1.2.3/STEP 1.0.9/SAT 0.4.8/OpenNurbs 0.4.0 |
|
- STEP: Rewrote the entity count functions to understand
assemblies.
- STEP: Rewrote the processing of assemblies.
- STEP: Implemented
mapped_item .
- On a trimmed surface with no singularities, if the loop
is dramatically not closed, reject it.
- VDAFS: Handle the case when the
CONS
model space curve is just a point.
- STEP: When writing inverted surfaces to a B-rep,
write the normal surface with a rev bit set.
- IGES: Write out vertex loops.
- STEP: Normalize
direction entities.
- IGES: If B-spline curve weights come in with very high
numbers, try scaling them down to something sensible.
- Added new
HwNlibBrep construction functions
which allows the B-rep to take ownership of the shells passed
to it rather than simply copying them.
- Added functions to convert the various TSLib entities to
IwTopology -derived classes. This will support
the TSLib-level assembly mechanism in the next release.
- STEP: Added chain of owning IDs to the
HwStepIdentifier class.
- Added access functions to the
HwNlibCylinder ,
HwNlibCone , and HwNlibSphere
classes.
- STEP: Added ability to write out cone, cylinder, sphere,
and plane surfaces to the Nlib-level writer. This won't be
visible from the TSLib layer until we hook up analytic
conversions in the next release.
- STEP: Rewrote the processing code to create entities on the
fly when needed, rather than storing them all in a
collection. This should halve the memory requirements of
the Nlib-level STEP processing.
- Added
HwNlibAssembly and
HwNlibAssemblyInstance classes to
provide direct assembly support at the Nlib-level.
-
MakeFace copies the underlying surface instead
of just passing a pointer to it. 5/29/2002.
- Fixed several minor memory leaks. 5/29/2002.
- Several minor improvements to
SolveQuadraticEquation . 5/29/2002.
- Fixed longstanding matrix math bug. 5/16/2002.
Changes for IGES 1.3.8/VDAFS 1.2.2/STEP 1.0.8/SAT 0.4.7 |
|
- Updated documentation and examples, 5/7/2002-5/8/2002.
- Fixed a crash involving attributes, 5/6/2002.
- The interface functions which passed the entities in an array
of pairs and IDs have been depricated. Their functionality
is completely redundant now that we use attributes to
pass ID. They have been moved to a
#ifdef
section which is turned off by default. If there are no
complaints, they will be removed entirely this winter.
5/5/2002-5/6/2002.
- New
HwImportOptions class added to the TSLib
versions of import functions. This combines several current
options with a small host of new ones, and leaves the
way for new options without changing the basic function
interface. The new import function added to each translator
are completely uniform, as well. 5/2/2002-5/5/2002.
- IGES: Read type 106 forms 1, 2, and 3 as collections
of points. 4/25/2002.
- New internal controls: #ShouldMakeComponentsOfFailedTrim#
has been split into two functions,
#ShouldMakeComponentsOfFailedTrim# and
#ShouldMakeFacesOfFailedBrep#, for greater control. 4/23/2002.
- Allow loop parameterization correction even when
Advanced Nlib is not present, if the loop is entirely
composed of iso-curves. 4/22/2002.
- VDAFS: If a parameter curve is a straight line in shape,
replace it with a simple NURBS straight line. (This
avoids some very nasty problems arising from sloppy degree
5 approximations to straight lines.) 4/20/2002.
- Correctly handle tabulated cylinders whose starting
v range is not zero. 4/16/2002.
- Don't trim a surface to its iso-curve boundary if the
surface is not parameterized correctly. 4/11/2002.
- When trying to smooth a piecewise linear curve, if one
of the resulting curve segments has length less than
tolerance, don't try to output it. 4/8/2002.
- IGES: Check type 143 trimmed surfaces for infinite
surfaces and fix if possible. 4/8/2002.
- IGES: Properly handle the case where a type 141 loop says
it has parameter loops and then doesn't. 4/7/2002.
- Used
MakeInvertedSurface to fix bug
writing offset surfaces in B-reps. 4/3/2002.
- Added
MakeInvertedSurface function,
which intelligently creates a new surfaces which
is the inverted version of the surface passed to it.
In particular, it special cases offset surfaces and
inverted surfaces. 4/3/2002.
- Fixed the documentation for bMakeSingleBrep. 3/18/2002.
- In the B-rep error handling code, if no faces at all are
successfully generated, return success (with no output)
instead of signalling an error. 3/16/2002.
Changes for IGES 1.3.7/VDAFS 1.2.1/STEP 1.0.7/SAT 0.4.6 |
|
- Switched to non-fatal asserts in
HwTSLIbNlibObject.cpp . This should clear up
the fatal crash when exporting an empty B-rep. (Though why
on earth are people exporting empty B-reps?) 3/5/2002.
- SAT: Export curves as wire objects. (Export only tested
with our own software -- we do not have access to a CAD
program that reads ACIS curves.) 3/2/2002.
- SAT: Import wire objects as unconnected curves. 3/2/2002.
- SAT: Fixed major bug where exported faces were oriented
incorrectly. 3/1/2002.
- Fixed bug when handling "exploded" B-reps -- there were
problems if the first face in the B-rep could not be
created as a standalone trimmed surface. 2/22/2002.
- STEP: Fixed a bug in the assembly code which caused
sub-assemblies to be output as if they were top level
assemblies. 2/18/2002.
- Introduced
HwNlib3DTrimmedCurve class, which
allows the application of the TSLib point-to-curve
projection routines to edge curves trimmed by 3D points.
(Benefits mostly for STEP/SAT files.) 2/14/2002.
- VDAFS: On import, indicate that the file is in millimeters
using HwHeaderInfo. (Millimeters are the only allowed
units for VDAFS files according to the specification.)
2/11/2002.
- VDAFS: Fixed serious parameterization bug when exporting
non-Bezier NURBS. 2/11/2002.
- Added
HW_NO_TREE to Linux makefiles so they
would compile correctly. 2/11/2002.
- Fixed cylinder scaling code. 2/8/2002.
Changes for IGES 1.3.6/VDAFS 1.2.0/STEP 1.0.6/SAT 0.4.5 |
|
- Minor changes to make things compile under MSVC 7.0. (We
hope; we do not have a copy of the compiler available for
testing.) 2/4/2002.
- IGES: When writing, if there is a single level with
numerical value greater than 100000000, write it using
the level property. 1/29/2002.
- IGES: Read Pro-E-style "layers" (ie groups labelled "LAYER")
as levels, with 100000000 added to the layer number.
This is a temporary fix to allow layers to be used now while
we try to figure out a better way to support them. 1/29/2002.
- If a B-rep cannot be created intact for some reason, create
as many of the pieces as possible and group them together
into a single "open shells" B-rep. Mark it with an
"exploded" attribute. (Not fully implemented for STEP yet.)
1/29/2002.
- IGES/VDAFS: Handle the case when the last line of the file
is not properly terminated by a newline character.
1/17/2002.
- IGES: Ignore entity type 106 unless it has form 11, 12,
or 13. (Eventually we should provide support for the point
versions of this entity.) 1/15/2002.
- IGES: When writing a B-rep, rearrange things so the
face orientation flag can be ignored. (Needed because
our interpretation of the IGES standard does not match
some other companies'.) 1/2002.
- IGES: If a B-rep is from Pro-E, flip the orientation of
surface types 122 and 128. 1/2002.
- IGES: If a manifold solid B-rep contains open void shells
(illegal in the IGES standard), issue a warning message and
drop them from the B-rep. 1/2002.
- IGES: B-rep face orientation is now treated as actually
being face surface orientation, unless the file is from
HarmonyWare. 1/2002.
- IGES: Patched a hole in the 402 support which caused trouble
if a group referenced an entity which wasn't there. 1/4/2002.
- Changed
FindPlaneNormal to look harder for
planes. 12/19/2001.
- STEP/SAT: Fixed minor ellipse handling bugs. 12/7/2001.
- SAT: Export code written. 11/2001-12/2001.
Changes for IGES 1.3.5/VDAFS 1.1.9/STEP 1.0.5/SAT 0.4.4 |
|
- STEP: When processing non-assembly entities in a
shape_representation_relationship , process
both entities normally. (Temporary patch until a better
solution can be found.) 11/7/2001.
- STEP: Disable
face_outer_bound detection,
because it turns out to be ambiguous. (One of those damned
design-by-committee things, it appears.) 11/7/2001.
- If we think a working version is available, apply
N_toordp to model-space-only surfaces to
eliminate degenerate regions. (TSLib/POPLib users who also
use Nlib: if you update your TSLib/POPLib to the latest
version, you need to update Nlib as well so that you get
the patch for this function.) 11/5/2001.
- VDAFS: Make compatiable with latest version of Nlib.
If you get errors about
N_gprcnp having too
many parameters, you need to comment out the
HW_USE_NEW_NLIB_POLYNOMIAL_FUNCTIONS
definition in inc/HwCommon.h or update your
Nlib -- preferably the latter.
11/5/2001.
- STEP: Allow
$ as default for string. 11/4/2001.
- SAT: Recognize the 180 degree cone configuration and make
it an inverted cylinder. 10/26/2001.
- SAT: Changed the negative minor radius code to invert the
torus surface. This seems to work well. 10/26/2001.
- SAT: If torus minor radius is negative, take the absolute
value. Assuming they use the same torus formula STEP does,
this should be an okay way to handle the problem.
10/22/2001.
- Disallowed the creation of
HwNlibTorus objects
with non-positive radii. I don't know what that means,
or why it keeps cropping up -- I do know it is badly
wrong with our current equations. 10/22/2001.
- SAT: When read an unknown subtype, process any subtypes
found normally. 10/19/2001.
Changes for IGES 1.3.4/VDAFS 1.1.8/STEP 1.0.4/SAT 0.4.3 |
|
- SAT: Preliminary work on export.
- STEP: Export names on faces.
- STEP: Added better warning messages during import.
- Added
CreateFacetedPlane function, which takes
a series of planar pointwise linear curves and makes a
single trimmed B-rep face out of them.
- Added software name, preprocessor name, author, and
organization fields to the
HwHeaderInfo class.
Export supported to IGES, VDAFS, and STEP; import supported
in IGES.
- STEP: Added message logging for the STEP file read stage.
- STEP: Added
time.h include to the
HwNlibStepWrite.h header, which uses
time_t .
- STEP: Fixed up shell error handling code.
- STEP: Fixed duplicate template predeclaration.
- Fixed
HwNlibHyperbola::GetYAxis .
- STEP: Check radii directly to detect degenerate torii
rather than trusting the information sent in the file.
9/4/2001.
- SAT: Handle degenerate torus objects properly.
8/28/2001-9/2/2001. (Much harder than it looked!)
- Fixed major
HwNlibTorus::IsDegenerate bug.
8/28/2001.
- STEP: Write name property when exporting faces. 8/23/2001.
- STEP: Borrowed some SGI STL code to optimize
poly_loop handling, which should make
faceted_brep much much faster for large
objects. 7/31/2001.
Changes for IGES 1.3.3/VDAFS 1.1.7/STEP 1.0.3/SAT 0.4.2 |
|
- If a UV curve wanders slightly off the definition of its
surface, refine the curve to make it hug its control points
and then nudge those points onto the surface.
- STEP: Implemented
over_riding_styled_item
import. In particular, this allows faces to have colors
distinct from the overall B-rep.
-
HwCoordinateSystem now tries a bit harder
to make a correct system from a slightly warped one.
- IGES: Fix to avoid writing nested composite curves.
- SAT: Fixed many memory leaks, 6/14/2001-6/30/2001.
- Added
HwTSLibTrimmingTools::AdjustBrepTolerance
call to standard B-rep import code. This should help for
models whose stated tolerance is significantly tighter than
their actual tolerance. 6/12/2001.
- Made
HwNlibCurveOnSurface::MakeSingleNurbs
work. 6/9/2001.
Changes for IGES 1.3.2/VDAFS 1.1.6/STEP 1.0.2 |
|
- Added
HW_NO_DEBUG to release mode builds.
6/9/2001.
- Modified
HwNlibTorus to avoid Basic Nlib
function calls. 6/8/2001.
- Optimizations and improvements to
HwTSLibTrimmingTools::CheckForBackwardsEdge .
6/7/2001.
- Modified
HwNlibCone and
HwNlibCylinder to allow elliptical surfaces.
6/6/2001.
- Rewrote
HwNlibCone and
HwNlibCylinder to avoid Basic Nlib function
calls. 6/5/2001.
- Wrote own version of
N_surrev and replaced all
calls to that function. 6/4/2001.
- Check for and reject sliver surfaces. 6/2/2001.
- Changed many asserts to error instead of exiting.
5/30/2001.
- When transferring B-rep attributes to faces, don't
overwrite or duplicate existing face attributes. 5/29/2001.
- Simple optimization from IntegrityWare which should nearly
double the speed of
HwTSLibTrimmingTools::EstimateTolerances .
5/24/2001.
- IGES: Export directory properties attached to a B-rep face.
5/24/2001.
- IGES: Import directory properties attached to a B-rep face.
Not sure if this will be a full-time feature or simply one
that can be switched on with a
#define .
5/24/2001.
- If a trimming knot value is below or above the knot vector,
force it to the appropriate end of the vector. 5/24/2001.
- STEP: Fixed a bug in surface of linear extrusion.
5/23/2001.
Changes for IGES 1.3.1/VDAFS 1.1.5/STEP 1.0.1 |
|
- Adjust knot vector in
HwNlibCURVE::MakeSingleNurbs curve sub-section
version. 5/10/2001.
- Check surface for TSLib validity before starting to trim it,
5/9/2001.
- IGES: Read independent infinite planes as coordinate
systems with the
HwNlibPlaneDisplaySize
attribute. Write coordinate systems with the
HwNlibPlaneDisplaySize attribute set as
independent infinite planes. 5/6/2001-5/9/2001.
- IGES: Write coordinate systems. 5/5/2001.
- STEP (primarily): Try to orient sphere surfaces in B-reps
so that the seam of the NURBS version of the surface will
cross the trimming curves. (This seems to improve TSLib's
behavior.) 4/21/2001-4/22/2001.
- VDAFS: Mark surfaces which are trimmed as blanked, in
case they are used later in some GROUP. 4/19/2001.
- STEP: Fixed a major bug with sphere orientation. 4/15/2001.
- STEP: Fixed a bug in an earlier workaround for illegal
early STEP files. 4/10/2001.
- VDAFS: Make sure parameter space loops are properly C0
continuous before turning them into a single NURBS curve to
write as a CONS. 4/4/2001.
- IGES: If a
HwNlibCompositeCurve has only one
curve in it, write it as that curve only (instead of using
a type 102 Composite Curve entity). 4/3/2001.
- Fixed stupid glitches in the curve self-intersection
code. 4/3/2001.
- IGES: Detect normal-flipped analytic surfaces as analytic
when writing a trimmed surface. 4/2/2001.
- IGES: Write circles as type 100 by default. 3/29/2001.
- When converting
IwBSplineCurve to
HwNlibCurve , check for the
IwEllipse subclass and if the ellipse is
actually a circle, convert it to HwNlibCircle .
3/29/2001.
- When converting
IwBSplineCurve to
HwNlibCurve , check for the IwLine
subclass and convert it to HwNlibStraight .
3/28/2001.
- When using model space trimming curves, if the edge tolerance
grows to be greatly bigger than the brep tolerance, bump
up the brep tolerance. 3/27/2001.
- IGES: Cleaned up a compiler warning message when certain
compile flags were set. 3/27/2001.
- IGES: Silence entity not found errors when processing
subfigures. The appropriate warning still appears in the
log file. 3/27/2001.
- A couple of tweaks to the template code to make it more
portable. 3/21/2001.
- STEP: Allow
plane_angle_measure to use either
degrees or radians. 3/19/2001.
Changes for IGES 1.3.0/VDAFS 1.1.4/STEP 1.0.0 |
|
- Renamed variables named
interface to
import_interface to keep Borland compiler
happy. 3/13/2001.
- Added
HwNlibIdProperty and
HwTSLibIdAttribute classes, and implemented
the attributes on import. (Generally speaking they don't
make any sense on export.) 3/5/2001-3/7/2001.
- If the
MakeSingleBrep flag is set, separate
blanked breps into their own brep. 3/5/2001.
- If the
MakeSingleBrep flag is set, move all
attributes from a IwBrep to each
IwFace it contains. 3/5/2001.
- Added
HwAbstractIdentifier::MakeCopy pure
virtual function in the HwAbstractIdentifier
interface. 3/5/2001.
- IGES: Import and export blanked entities. 3/4/3001.
- Added attributed to indicate an entity is "blanked" (ie
non-visible). 3/4/2001.
- Made
HwCoordinateSystem::Transform a wee bit
more forgiving of errors. 3/2/2001.
- VDAFS: Fixed a stupid glitch in the call to
N_appgsa when writing out a rational surface.
2/28/2001.
- IGES: If a type 126 curve is marked polynomial, force all
the weights to 1.0. 2/27/2001.
- IGES: If a type 128 surface is marked polynomial, force all
the weights to 1.0. 2/27/2001.
- Don't use the parameter space loop as a first choice unless
it passes a couple of obvious tests (like being closed).
2/27/2001.
- IGES: Write directory attributes when writing a type 100
circle. 2/26/2001.
- Make the 3D trimming curve code handle the case of the
natural outer loop more intelligently. 2/23/2001.
- IGES: Try to rescale the weights if they are out of the
normal range for Nlib/TSLib/NMTLib. 2/19/2001.
- Added units conversion functions, and used them to simplify
STEP non-metric units when possible. 2/19/2001.
- Removed redundant (and slightly incorrect) debugging check
in
HwNlibPlane::ProjectToXYPlane . 2/9/2001.
- VDAFS: If a FACE and the SURF it references both appear in
the same GROUP, only pass on the FACE. 2/8/2001.
- IGES: Handle independent closed shells properly, instead of
shutting down the translation. 2/2/2001.
- IGES: If a physically dependent entity is only referenced
by a logical grouping entity (type 402) create it anyway.
2/1/2001.
- Some very minor tweaks to make GCC happy. 2/1/2001.
Changes for IGES 1.2.9/VDAFS 1.1.3/STEP 0.6.4 |
|
- Some minor tweaks to accommodate Borland C++ 5.01. 1/30/2001.
- STEP: Don't add attributes if you didn't find any. 1/29/2001.
- Don't include the vertex/edge traversal code in the test
for manifoldness, because there is one common case it fails
miserably on. 1/29/2001.
- IGES: Fixed bug in the code to process brep components if a
brep cannot be created whole. 1/29/2001.
- STEP: Write lines using
geometric_curve_set
and
geometrically_bounded_wireframe_shape_representation .
1/28/2001.
- STEP: Apply brep attributes to its components if the brep
cannot be created whole. 1/27/2001.
- Loosen the tolerance to check whether a system is
orthogonal, to accommodate systems which don't write out
many digits of precision.
- Change the new NMT brep import code to only work under SMLib,
because that's the only place it can compile. 1/23/2001.
- Added new
HwNlibAbstractSolid abstract base class
for HwNlibShell , HwNlibBrep , and
HwNlibNMTBrep . 1/19/2001.
Changes for IGES 1.2.8/VDAFS 1.1.2/STEP 0.6.3 |
|
- STEP: Import color information. 1/15/2001.
- STEP: Import layer information. 1/14/2001.
- Rewrote
HwNlibNMTBrep support. 1/10/2001-1/18/2001.
- Used topology sorting to improve
IwBrep to
HwNlibBrep/HwNlibNMTBrep translation. 1/9/2001.
- Added HwTopology files and classes to the system.
- Switched
HwAdjustIfNearKnot to use a floating
tolerance instead of an absolute one, to deal with really
big knots. 12/22/2000.
- Corrected cut-and-paste bug in
HwNlibRectangularTrimmedSurface::CorrectForNurbsParameterization .
12/21/2000.
- STEP: Change the high-level processing to only trigger if
the type is one of the high-level ones we will send on.
This goes a long way to making the message file more
readable without affecting useful functionality at all. (In
theory!) 12/20/2000.
- IGES: Adjusted the rule to determine which kind of trimmed
surface to write out to favor type 143 for analytic
surfaces. 12/20/2000.
- STEP: Allow assembly code to work whether or not the file
lists the entities in the
item_defined_transformation in the correct
order. 12/19/2000.
- STEP: Allow assembly code to work with
shape_representation subclasses. 12/18/2000.
- STEP: Added support for mixin type of
surface_curve and bounded_curve .
(Why you'd use this instead of
bounded_surface_curve I have no idea, but
someone did.) 12/18/2000.
- Added a check to make sure the loops in a brep are
correctly ordered, 12/15/2000.
- Added a couple of
#ifdef wrappers so that the
code can compile with the no Nlib configuration again,
12/15/2000.
- VDAFS: Allow CONS elements to be used backwards, 12/13/2000.
Changes for IGES 1.2.7/VDAFS 1.1.1/STEP 0.6.2 |
|
- Fixed a semi-major bug involving trimmed surfaces with
rectangular boundaries and inner loops.
- IGES: Write parameter loops on trimmed offset surfaces.
- STEP: Generalized a number of the curve creation
subroutines, so they can also be used for the upcoming ACIS
translator.
- STEP: Optimized the adding of simple straight edges for
faceted breps.
- Experimental support for making an arclength version of a
NURBS curve, which allows arclength ruled surfaces on NURBS
curves.
- In the process of adding the new interface, rename the
high-level IGES functions to conform to the VDAFS and STEP
naming standards, ie
HwTSLibIgesRead and
HwTSLibIgesWrite . (The old functions remain
as a legacy interface.)
- Added new interface members,
HwNlibImporterInterface::PassHeader ,
HwNlibExporterInterface::SetHeader ,
HwTSLibExporterInterface::SetHeader , and
HwTSLibReceptacleInterface::PassHeader to
support the HwHeaderInfo interface.
- Added new TSLib interfaces with
HwHeaderInfo
for important and export. For now, the primary purpose of
this is importing and exporting information on the type of
units a model is defined in.
- IGES: Bugfix to avoid infinite recursion when counting
illegally recursive subassemblies.
- STEP: Added support for
edge_based_wireframe_model , 11/20/2000.
- Improved code for filling in gaps in 3D trim loops,
11/14/2000.
- Add tiny tolerance adjustment to
HwNlibSURFACE::Evaluate , 11/14/2000.
- When converting a single untrimmed surface to an
IwBrep , split the resulting face if it is
not C1 continuous. 10/19/2000.
- When outputting an open shell, always take the "forward"
faceuse. 10/16/2000.
- Changed several
HwNlibCoordinateSystem member
function debugging checks to use floating tolerances.
10/16/2000.
- Fixed minor memory leak in the
HwNlibBrep to
IwBrep attribute conversion code. 10/4/2000.
Changes for IGES 1.2.6/VDAFS 1.1.0/STEP 0.6.1 |
|
- STEP: Added
hyperbola support.
- STEP: Added
edge_based_wireframe_shape_representation I/O
support, 9/22/2000.
- STEP: Corrected
trimmed_curve to allow
misformated negative trimming values, 9/22/2000.
- If a parameter space trimmed surface is trimmed by isocurves,
create a
HwNlibRectangularTrimmedSurface from
it and try using the normal HwNlibSurface to
IwBrep conversion routine, 9/21/2000.
- Added
HwNlibRectangularTrimmedSurface class,
9/21/2000.
- Various minor memory leaks cleaned up, 9/11/2000-9/20/2000.
- IGES: Import transformation matrices with entity labels
other than blank or "TRANSFOR" as
HwNlibCoordinateSystem objects. 9/4/2000.
- Added 1e-8 tolerance check to
HwNlibSurfaceOfRevolution to handle people who
cut off pi a few digits short of a complete circle.
8/31/2000-9/1/2000.
- Changed
HwNlibTrimmedSurface::BindInfinite to
take ownership of the surface before binding it, the same
way it does when you transform a trimmed surface. 9/1/2000.
- STEP: Import
hw_sbt_axis2_placement_3d as
HwNlibCoordinateSystem objects. 8/30/2000.
- Introduced
HwNlibCoordinateSystem class, built
around HwCoordinateSystem on the
HwNlibObject . 8/30/2000.
- Introduced
HwCoordinateSystem class and
inserted it in a number of analytic curve and surface types.
8/28/2000-8/29/2000.
- STEP: Fixed annoying meaningless error message generated
routinely in the course of normal operation. 8/28/2000.
- STEP: Added support for
trimmed_curve .
8/28/2000.
- IGES: New support for the IGES line font directory field
(in its most basic form) as an entity attribute. 8/18/2000.
- IGES: New support for the IGES line weight directory field
as an entity attribute. 8/17/2000.
- IGES: Allow a geometry entity in a subfigure to be marked
as definition entity. I don't understand why, but the
standard seems to allow this, and AutoCAD does it.
8/14/2000.
Changes for IGES 1.2.5/VDAFS 1.0.9/STEP 0.6.0 |
|
- IGES: Detect conical ruled surfaces, and try to process
them in a much more sensible fashion. 8/3/2000.
- Added support for attributes to go with
IwPoint3d entities in the class-based
interfaces. 8/2/2000.
- Implemented control of units output in class-based
IGES and STEP exporting. 8/1/2000.
- STEP: Fixed a bug in edge ellipse handling. 7/31/2000.
- STEP: Changes to the lowest level file reader to properly
handle embedded comments. 7/31/2000.
- STEP: Set up the system to use
shell_based_surface_model entities to read and
write non-manifold open-shell breps. 7/29/2000.
- STEP: Read
shell_based_surface_model .
7/29/2000.
- STEP: Properly handle reading
manifold_surface_shape_representation .
7/29/2000.
- STEP: Properly write out files with more than one BRep.
7/28/2000.
- STEP: Properly write out strings that contain
single-quotes. 7/25/2000.
- STEP: If a representation item is named something other
than "NONE", tag the object it creates with a name
property. 7/25/2000.
- IGES: On export, right justify entity label in the
directory section. 7/25/2000.
- IGES: Added attribute support for entity label/subscript.
7/24/2000.
- VDAFS: Implemented entity counting via
PassEntityCount . 7/21/2000.
- IGES: Reimplemented the code controlling
PassEntityCount . Now the entity count more
closely reflects what is in the file, rather than what the
Nlib-layer can make sense of. The count should come earlier
in the process, as well. 7/20/2000-7/21/2000.
Changes for IGES 1.2.4/VDAFS 1.0.8/STEP 0.5.9 |
|
- Changed the Microsoft project files to use a different
directory for each DLL, just like the makefiles have done
for a long time. 7/12/2000.
- Output translator version to log file when reading. 7/12/2000.
- Found and fixed the true source of the bug below. Not
Microsoft, but a change in the
IwBrepData
specs. 7/10/2000.
- Rearranged member variables in
HwTSLibShellExporter to work around what appears
to be a Microsoft optimizer bug. 7/9/2000.
- Added
#ifdef guard to avoid double-defining
IW_TARRAY_TEMPLATE_PREDECLARATION . 7/8/2000.
- IGES: Fixed the IGES type 194 cone to convert the semi
angle from degrees to radians. 7/5/2000.
- STEP: Allow the creation of a
faceted_brep
as a normal manifold_brep . 6/28/2000.
- STEP: Create points for use in
geometric_set .
6/28/2000.
- STEP: Implemented proper
geometric_set support.
6/28/2000.
- STEP: Changed data selection rules so that sending a shape
representation with zero objects does not count as actually
sending a shape representation. 6/28/2000.
- Force the axes of an
HwNlibPlane to be unit
vectors, which improves performance when very small vectors
are used to create the plane. 6/26/2000.
Changes for IGES 1.2.3/VDAFS 1.0.7/STEP 0.5.8 |
|
- Added
#if blocks around calls to
IwBSplineCurve::EditEndPoint to add versions
compatiable with the latest versions of TSLib/SMLib,
6/23/2000.
- IGES: Added support for entity types 190, 192, 194, 196,
and 198, 6/22/2000.
- Added new constructors for
HwNlibPlane ,
HwNlibCone , HwNlibCylinder , and
HwNlibTorus . These allow construction without
regard to the orientation of the local X and Y axes. This
means that there is no meaningful parameterization on these
versions of these surfaces. 6/22/2000.
- IGES: Added back-up plan for Type 186 BReps which cannot
create all their faces/shells. If something goes wrong,
whichever faces can be created are sent in an open shells
brep. 6/21/2000.
- STEP: Added preliminary support for STEP assemblies and
sub-assemblies via
representation_relationship_with_transform .
6/19/2000-6/20/2000.
- Adjustments to TSLib attribute support to make it
compatible with the latest release of TSLib/SMLib, 6/16/2000.
- Added optional parameter to
HwMessageLogger
constructor which allows you to append to the message file
instead of overwriting it. 6/13/2000.
- Added
HwDetermineFileType function to make
a guess at a file's type based on its extension. 6/12/2000.
- Fixed
HwNlibCone::MakeNurbs , adding simple
tests in the process, 6/10/2000.
- Improved
HwNlibSurface::ProjectToPlane
function to work better on marginal cases, 6/9/2000.
- IGES: Fixed color support for yellow, magenta, and cyan,
6/6/2000.
- IGES: Added support for importing type 158 as a surface,
6/5/2000.
- Changed
HwBrepToleranceCollector::ScanBrep
to look at all the tolerances on a brep, instead of
just the main one. 6/4/2000.
- Added
HwNlibTrimmedSurface::Invert and
HwNlibTrimLoop::Invert functions to invert the
orientation of each type. This is used to make the trimmed
surface sense agree with the face sense in
HwNlibBrep::MakeTrimmedSurfaces . 6/2/2000.
- STEP: Juggled the headers so that the
HwStepBase
definition is available to both inc/HwStep.h and
inc/HwStepAuto.h . 6/1/2000.
- STEP: Eliminated
GetObject functions that were
getting assaulted by the Windows header files. 5/31/2000.
Changes for IGES 1.2.2/VDAFS 1.0.6/STEP 0.5.7 |
|
- Reworked IGES file processing to not suffer a speed penalty
if the entities are in reverse order, 5/19/2000.
- Updated 80-column file end-of-line processing to allow CR
by itself to be a valid end-of-line character, 5/16/2000.
- Tweaked
HwNlibCompositeCurve::FixupOrientations to be
more understanding when outer loops on closed surfaces are
involved, 5/10/2000.
- Changed it so unrecognized IGES 406 forms are not
errors. 5/9/2000.
- Updated the IGES processing logic so that entity 308
subentities are forced to be physically dependent if the
file is from SolidWorks. 5/9/2000.
- Updated the IGES processing logic so that IGES defintion
entities are never created when an independent entity is
desired. This works around SolidWorks bug. 5/9/2000.
- Reworked
#ifdefs so that surface cropping
is controlled by USING_NLIB instead of
HW_USE_BASIC_NLIB , as that more closely
reflects reality. (Previously, setting the latter and not
the former on recent versions on TSLib would result
in incorrect results.) 4/28/2000.
- Renamed
HwTGLowLevelReader to
HwLowLevelAscii80Reader , 4/12/2000.
- Added better test for a valid line number to IGES and VDAFS,
4/12/2000.
- Added proper deletes in the
HwIgesFile::RemoveStragglers function, 4/12/2000.
Changes for IGES 1.2.1/VDAFS 1.0.5/STEP 0.5.6 |
|
- Tweak to gracefully handle errors writing out individual
faces/breps of complex breps, 4/11/2000.
- Fixed the property reading code so that 5000+ properties
which were not written by this translator are not
reported as errors, 4/10/2000.
- When converting an
IwBSplineCurve to an
HwNlibCURVE using an extent which overrides
the natural extent, tweak the extent parameters if they are
very close to knots on the curve, 4/10/2000.
- Tweak to allow the first line of a VDAFS file to be line
number zero, 4/9/2000.
- In the STEP Brep error handler, added proper support for
vertex loops and faces which only have vertex loops,
4/8/2000.
- Turned on the STEP Brep with Void support which had been
never actually activated, 4/8/2000.
- Set up STEP to allow linear extrusion surfaces built from
ellipses, 4/7/2000.
- Added capability to skip comments between entities in a
STEP file, 4/7/2000.
- Switched an assertation in the circle parameterization code
to an error so that it can fail gracefully, 4/6/2000.
- Removed incorrect assertation which could trigger when
translating a malformed
HwNlibBrep into a set
of HwNlibTrimmedSurface objects, 4/6/2000.
- Added code to test for primary colors, plus black and white,
on color output, 4/3/2000.
- Improved code for adjusting tolerance based on the width of
a surface, 4/3/2000.
- Added
HwNewDelete as a base class for
HwNlibImporterInterface and
HwNlibExporterInterface to clear up some wacky
DLL problems, 3/26/2000.
- Modified debugging-only loop test to make sure it doesn't
execute when Nlib is not available, 3/25/2000.
- Added several includes to
inc/HwTSLibGeneric.h
so it is properly self-contained, 3/24/2000.
- Fixed define for
false in
inc/HwCommon.h . How the heck did I screw
that up? Why didn't anyone notice before today? 3/24/2000.
- Added comparison operators for
HwIndexAndPointer
so that MSVC++ 5.0 doesn't complain, 3/24/2000.
- Removed the self-referential
HwStdAutoPtr
from the HwNlibAttribute definition, because
the template predeclaration had to be made before the class
was fully defined, so that (on at least MSVC++ 5.0) the
destructor could not call the HwNlibAttribute
destructor when deleting any further attributes up the
chain. 3/24/2000.
- Added
HwMakeSphere , just in case you need to
make a sphere, 3/24/2000.
- Changed
HwTSLibViaNlibExporter class
definition to not require the
inc/HwNlibGeneric.h header to be loaded first,
3/21/2000.
- Moved
HwTSLibViaNlibExporter to the
inc/HwTSLibGeneric.h header, 3/16/2000.
- Added an
HwFOIsOkay for the long
type, 3/14/2000.
- Extensive silly changes to make STEP output conform to
AP203, 2/2000.
- Added work-around so that older STEP files without a name
field in their
representation_item data will
still read after today's earlier changes. 2/9/2000.
- Reworked auto-generated STEP code to follow the proper
rules for reading/writing base classes, namely each class
shall only appear once in the list. (ie virtual multiple
inheritance I/O.) 2/9/2000.
- Added the
item_name field to the
HwStep_representation_item class, and
reworked I/O to handle it, 2/9/2000.
- Switched STEP output to use good old
stdio.h ,
2/8/2000.
- Fixed a C++ error in
src/HwNlibStepWrite.cpp .
(Big kudos to Microsoft for yet another bug in their compiler,
namely not noticing this one in my code.) 2/8/2000.
Changes for IGES 1.2.0/VDAFS 1.0.4/STEP 0.5.4 |
|
Note: There were two major additions in this version: improved brep
support and attributes. The debugging of these features is not
covered below.
- Added an option to return objects in local coordinates with
a transform attribute attached, rather than in global
coordinates, to many of the high-level IGES input routines.
Note that this only affects objects which have a
transformation matrix on them; in a normal IGES file, most
objects do not.
- Changed the
HwNlibBrep from to support
multiple open shells at once.
- Fixed bug which caused every composite curve written by
IGES to be closed, 1/27/2000.
- Overhaul of the
IwBrep to
HwNlibBrep and vice versa,
1/22/2000-1/28/2000.
- Added a new
HwNlibObject type,
HwNlibNMTBrep , for handling non-manifold
breps. 1/22/2000.
- Added
HwNlibAttribute linked list structure
to every HwNlibObject type. 1/16/2000.
Changes for IGES 1.1.9/VDAFS 1.0.3/STEP 0.5.3 |
|
- Fixes to 2D calls to
IwBSplineCurve::CreateCanonical and
IwBSplineCurve::SetCanonical so that they
actually return fully 2D objects. 1/6/2000.
- Spent a lot of time retooling the code immediately before
and after a trimmed surface is made, so that it can
be separated from the HarmonyWare libraries. In the
process, made many improvements and minor bug fixes to
it. 12/15/1999-1/6/2000.
- Don't pass infinite surfaces to the Nlib-to-TSLib
convertor. This gets the exact same geometry results, while
avoiding silly error messages about not being able to
create an infinite surface. 12/15/1999.
- Fixed a silly little bug which kept the TSLib and SMLib
versions of all translators from writing files with no
trimmed surfaces or solids, 12/14/1999.
- Switched
HwNlibCylinder to use angles for its
parameter range rather than radians. I think angles are
silly, but this is consistent with IGES, STEP, and Nlib.
12/13/1999.
- Added ability to STEP export the offset_surface type,
12/11/1999.
- Changed
HW_NCMT_MAJOR_TYPE and
HW_NSMT_MAJOR_TYPE identifiers to just
HW_NCMT and HW_NSMT . (Because
"NCMT" and "NSMT" stood for "Nlib Curve/Surface Minor
Type", and so MAJOR_TYPE was both redundant
and wrong.) 12/11/1999.
- Eliminated
printf accidentally left in offset
surface code, 12/11/1999.
- Added conversion from
IwOffsetSurface to
HwNlibOffsetSurface to the standard TSLib to
Nlib conversion routines, 12/11/1999.
- Added ability to IGES export type 140 offset surfaces,
12/11/1999.
Changes for IGES 1.1.8/VDAFS 1.0.2/STEP 0.5.2 |
|
- Improved support for older compilers.
- Addd
HwNullLogger class, a simple
HwAbstractMessageLogger which just throws out
all the information passed to it, 12/10/1999.
- Added
HwIgesReadGlobal to read just the global
section of an IGES file, 12/10/1999.
- Improved progress tracker support for TSLib/SMLib IGES
reads, 12/9/1999.
- Added crude STEP support for entity types we don't recognize.
(Basically we store the name and skip the rest of the entity.)
12/9/1999.
- Generic header section support added to the
HwNlibExporterInterface , 12/8/1999.
- Fixed a bug which caused problems with the negative section
of cones, 12/7/1999.
- Made the STEP brep failure fallback mode recognize
face_bound::orientation , 12/7/1999.
- Implemented full (import) support for
IwOffsetSurface , 12/3/1999-12/5/1999.
- Changed
HwTSLibTrimLoop3d::FindModelCurveDistanceToSurface
to react gracefully to errors in
IwSurface::DropCurve . This keeps this
function from blocking the trimming of seam-crossing
curves. 12/2/1999.
- Switched TSLib code to center around
IwSurface
instead of IwBSplineSurface , 12/2/1999.
- Made
PassEntityCount responsive to the various
trimmed surface/brep processing options, 12/1/1999.
- Improved Nlib entity counting, and made it work with all
translators via the
HwNlibImporterCounter
class, 12/1/1999.
Changes for IGES 1.1.7 (interim release) |
|
- Fixed the
PassEntityCount function to work
(this was also broken in the last release). 11/18/1999.
- Fixed critical bug in the IGES with identifiers TSLib
function interface, added in the last release. Doh!
11/18/1999.
- Check to see if the parameter range of an IGES surface is
outside the knot vector for the surface, and trim it back
if it is. 11/18/1999.
- Worked around Microsoft Visual C++ optimizing bug seen only in Release version.
11/17/1999.
Changes for IGES 1.1.6/VDAFS 1.0.1/STEP 0.5.1 |
|
- Fixed (new to this version) bug where tolerance was ignored
in IGES files. 11/15/1999-11/16/1999. (That's a day and a
half to track down the problem causing the regression the
test suite, ten minutes to fix said problem.)
- Created
HwProgressTrackerInterface for generic
progress reports, and added first-level support for it to
the standard import and export functions,
11/10/1999-11/15/1999.
- Fixed a second manifestation of the old "Nlib curve has
dimension 2 but IwCurve containing it has dimension 3"
problem, 11/9/1999.
- Added
quasi_uniform_curve and
quasi_uniform_surface support to STEP,
11/9/1999.
- Eliminated old STEP hack which was an early attempt to deal
with the multiple DLL problem now solved by
HwNewDelete , 11/9/1999.
- Implemented reverse orientation flag for STEP face bounds,
11/9/1999.
- Fixed
HwNlibBrep pointer initialization
problem by switching the pointer to an
HwStdAutoPtr , 11/8/1999.
- If we are fixing the order of the trim loops on a
surface, and there is only one loop and it is an inner
loop, fix its orientation so it is an outer loop. 11/5/1999.
- Implemented STEP surface of linear extrusion as
HwNlibTabulatedCylinder of infinite width.
11/5/1999.
- Allow
HwFFDIterator::GetReal to handle
integers as well, in case some program wrote integers where
they should have written integer-valued reals. 11/4/1999.
- Rewrote the IGES processing code to process subfigures
which are not marked as geometry information. (As the
standard doesn't force geometry-based subfigures to be
marked as geometry information.) 11/4/1999.
- Fixed STEP crash caused by previous fix of the the
HwNlibBrep destructor. 11/4/1999.
- Changed
HwIgesFile to contain maps to pointers
instead of maps of actual objects. This should eliminate
pauses in the early stages of reading large files. 11/3/1999.
- Fixed memory leak in the
HwStepDataIndex
destructor, 11/2/1999.
- Fixed memory leak in the
HwNlibBrep
destructor, 11/2/1999.
- Cached last
HwNlibSolidComponents info on IGES
write. If the next HwNlibBrep uses the same
HwNlibSolidComponents object, the vertices and
edges are not written out again. 11/2/1999.
- Fixed
HwNlibBrep bug where the copy of an
open shell was a closed one, 11/2/1999.
- Added open shell code to STEP, 11/2/1999.
- Rearranged STEP I/O classes and functions a good bit,
renaming
HwStepInput and
HwStepOutput to
HwStepLowLevelInput and
HwStepLowLevelOutput , and then creating new,
higher level HwStepInput and
HwStepOutput classes which wrap the majority
of the formerly stand-alone I/O functions, 11/1/1999.
- Accumulated min-max boxes for all the entities output to an
IGES file, so that we can determine the maximum coordinate
value and store it in the global section, 10/30/1999.
- Added
GetMinMaxBox member functions to
HwNlibCurve and HwNlibSurface ,
10/30/1999.
- Fixed the code for determining the approximate width of a
surface to work in the case of higher order Bezier
surfaces, 10/29/1999.
Changes for IGES version 1.1.5/VDAFS version 1.0.0 |
|
- Derived
HwNurbsCircleParameterizationCorrector
from HwNewDelete so that it would work
properly across DLLs, 10/27/1999.
- Revamped the Installation and Basic Interface sections of
the documentation.
- Many minor cosmetic changes, including renaming the
high-level TSLib import/export functions for VDAFS and STEP
and documentation improvements.
- Changed the
HwFreeFormattedData::CreateStrings
to send its output to the new
HwFFDStringReceptacle class instead of an
array of char * .
- Proper implementation of
HwNlibBrep and
HwNlibShell transform functions. 10/21/1999.
- Total reworking of
HwNlibBrep memory
management. Now the HwNlibSolidComponents
class is reference-counted, so that HwNlibBrep
objects can be thrown around like any of
HwNlibObject . 10/20/1999.
- Introduction of
HwAbstractIdentifier::GetConcreteType virtual
function, so that identifiers can be traced back to the
translator they come from. 10/19/1999.
- Several generalizations of VDAFS code to generic code,
promptly used for STEP integration. 10/19/1999.
- Coded low-level VDAFS parser to check for the beginning of
a new entity with each line read in. This because we got a
file where entities are ended with a dangling comma (quite
illegally, we should add) and that confused our old parser.
10/19/1999.
- If a surface's trimloops' orientation and order are marked
correct, to make sure the order is really correct, and
fix it if it is not. 10/15/1999.
Changes for IGES version 1.1.4/VDAFS version 0.5.3 |
|
- Updated all projects and makefiles. Among many small
changes, NMTLib now automatically sets
HW_USE_ADVANCED_NLIB . 10/11/1999.
- Added
HW_USE_BASIC_NLIB analogous to
HW_USE_ADVANCED_NLIB . If it is not set, only
functions used in our miniNlib distribution will be called.
If HW_USE_ADVANCED_NLIB is defined,
HW_USE_BASIC_NLIB is defined automatically.
10/11/1999.
- Changed TSLib-style intersection code to allow hourglass
intersections on 3D loops. This is necessary to handle
simple closed surfaces! 10/11/1999.
- Created
SplitSeamFaces function to handle faces
whose loops cross closed seams. All the infrastructure is
present, but there are changes needed to TSLib/SMLib before
it can be turned on. 10/11/1999.
- Changed
HwNlibIgesCreator::WriteTrimmedSurface
to prefer writing IGES type 143 to 144. The latter is more
common, but information (sometimes crucial) is lost if the
surfaces are written as 144s. 10/10/1999.
- Created
HwNlibGeneric.h/.cpp and
HwTSLibGeneric.h/.cpp to contain interface
routines common to more than one translator.
The HwNlibExporterInterface specifies
an interface for writing geometry files from Nlib data.
The HwTSLibExporterInterface specifies
an interface for writing geometry files from TSLib data.
The fledgling HwTSLibReceptacleInterface
was also moved here from HwTSLibReceptacle.h ,
which has been removed. 10/8/1999-10/11/1999.
- Broke
HwNlibObject.h/.cpp into eight files:
HwNlibObject.h/.cpp ,
HwNlibCurve.h/.cpp ,
HwNlibSurface.h/.cpp , and
HwNlibCollection.h/.cpp . A new include file,
HwNlibObjects.h , includes all four header
files. 10/8/1999.
- Added two new
HwNlibCurve classes,
HwNlibEllipse and
HwNlibReparameterizedCurve .
- Added
HwNlibSurfaceMinorType enum and
HwNlibSurface::GetMinorType virtual function
to enable determining the actual type of an
HwNlibSurface object.
- Add new
HwNlibSurface classes:
HwNlibCone , HwNlibSphere ,
HwNlibTorus ,
HwNlibInvertedSurface , and
HwNlibSwappedSurface .
- Added static
HwNlibTrimLoop::MakeTrimLoop
function to get around wierd MS DLL interactions.
- Added
HwNlibSolidLoop::IsVertexLoop function
to see if a loop is a vertex loop.
- Added
HwNlibSolidComponents::BindInfiniteFace
to handle infinite surfaces on BReps.
- Added
HwNlibIgesCollection::GetCurve member
that doesn't allow a point to be returned. (For some
reason I had previously made the special case the general
case.)
- Added a new
HwNlibSurfaceOfRevolution creation
function to allow the axis of revolution to be defined
via a point and a vector.
- Added a new
HwNlibOffsetSurface creation
function which doesn't take a reference normal. We never
used the reference normal, so this seems reasonable.
- Changed
HwTSLibTrimLoop3d::CreateConnectorOnSurface to
handle the case when there are two solutions to the point
projection which are extremely close in UV space,
10/6/1999.
- Fixed
HwNlibCircle::Transform to handle
transformations which are unevenly scaled a little more
gracefully, 10/1/1999.
- Fixed
HwNlibCircle::SetCircle (the IGES
version) to handle the case when the start angle is ever so
slightly less than zero, 9/29/1999.
- Improved offset surface memory allocation estimates,
9/24/1999.
- Fixed the
IwBrep extraction code to work
properly (we hope!) with IwRegions ,
9/21/1999-9/22/1999.
- Added piecewise linear curve smoothing to TSLib/SMLib
curve output. (Previously it was only used on trimming
loops.) 9/12/1999.
- If the tolerance specified in an IGES file is exactly
zero, use tolerance 1e-3. 9/12/1999.
Changes for IGES version 1.1.3/VDAFS version 0.5.2 |
|
- Added
HwNlibCylinder , 9/6/1999.
- Fixed plane projection bug, 9/5/1999.
- Added some missing
SERs to
src/HwNlibIgesProcessor.cpp , 9/5/1999.
- Added code to
HwNlibIgesCreator to write out
HwNlibCircle as IGES 100 circles. By default,
HwNlibStraight are written as 110,
HwNlibCircle as IGES 126 (b-spline). (This
affects all IGES file writing.) The
HwNlibIgesCreator::SetStraightWriting and
HwNlibIgesCreator::SetCircleWriting functions
allow overriding these defaults. 8/31/1999.
- (VDAFS) Switched to new circle interface, 8/31/1999.
-
HwNlibCircle revamped to store axes, radius,
and start/end parameters internally, rather than the IGES
circle format, 8/30/1999.
-
HwNlibStraight objects now written to IGES
as IGES entity 110 (straight line segment), 8/30/1999.
Changes for IGES version 1.1.2/VDAFS version 0.5.1 |
|
- Turned off the special Advanced Nlib code in
HwNlibObjectToTSLib::ConvertSurfaceModelOnly
because it was causing a crash in certain rare conditions,
8/22/1999.
- Added "recursive entity" error message for those dreaded
recursive IGES entities, 8/22/1999.
- Added the "owning names" fiedls to the
HwVdafsIdentifier class, 8/20/1999.
- Attempt to estimate the amount of memory creating an offset
surface will take, and abort the surface creation if it
will take more than 32 megs of memory to produce the NURBS
approximation, 8/17/1999.
- Fixed
HwTSLibSurface::Trim to use
IwBSplineSurface::TrimWithDomain if it is
available, 8/16/1999.
- (VDAFS) Added code to make the low-level VDAFS file read
more robust, 8/15/1999.
- (VDAFS) Removed a spurious
static from the
HwVerifyValidVdafsName definition. Why didn't
my copy of Microsoft Visual C++ notice this problem
automatically? 8/11/1999.
- (VDAFS) Added
HW_USES_ADVANCED_NLIB wrapper
around calls to N_appgca and
N_appgsa calls. This means
HW_USES_ADVANCED_NLIB is required to write
rational NURBS to a VDAFS file. 8/11/1999.
- Fixed parameter space orientation bug (a conflict between
IGES notation and TSLib notation) in solids code, 8/11/1999.
- (VDAFS) Implemented
HwNlibVdafsCreator::WriteBrep , 8/10/1999.
- Implemented
HwNlibIgesCreator::WriteBrep ,
8/9/1999.
- Noticed that IGES open shells were being read but not
processed properly, and corrected the first stages of the
problem. It is still likely that they do not create valid
IwBreps , but at least the fallback code should
get activated now, 8/9/1999.
- Added
HwFFDAssembler::AddLogical
and HwIgesWritingAid::AddLogical to simplify
handling logical IGES data, 8/9/1999.
- Added
HwStdMap::clear ,
HwStdVector::clear , and
HwStdVector::resize , 8/9/1999.
- Fixed
HwNlibShell::MakeTrimmedSurfaces
so that it only outputs each face once. (Since it
ignores the face orientation, outputting it twice
would be sort of odd.) 8/9/1999.
- Fixed
HwNlibSolidComponents::MakeLoop so
that it worked properly for loops without parameter space
(UV) curves, 8/8/1999.
- Implemented
IwBrep to HwNlibBrep
translation code, 8/8/1999.
Changes for version 1.1.1 |
|
- Removed
printf's from
src/HwTSLibTrim.cpp , 8/5/1999.
- Renamed
HwIgesFFD.h/cpp to
HwFFD.h/cpp , since they are used by VDAFS as
well, 8/4/1999.
- Fixed longstanding major bug in
HwNlibTrimloop::Translate. Doh! 7/27/1999.
- Added check for very small surfaces, or very large
tolerances, depending on your point of view. If so, reduce
tolerance to something more reasonable for that surface.
7/13/1999.
- Patched memory leak introduced by the new (in 1.0.8) solids
code, 7/12/1999.
- Discovered that
HwTGLowLevelReader would try
to read from a null FILE * if the file being
opened could not be found. Fixed it. 7/10/1999.
- First pass at VDAFS low-level file writer done, 7/9/1999.
- Added a
TestTweakCurveEndsTogether to
the case where the gap between segments is large in
3D space but small in UV space, 7/8/1999.
- Blocked out basic VDAFS data structures, 7/8/1999.
- Reworked FFD code to allow it to work with VDAFS, 7/8/1999.
Changes for version 1.1.0 |
|
- Added a general reparameterization to from 0.0 to 1.0 to the
HwNlibObjectToTSLib::ConvertSurfaceModelOnly
knot reparameterization routine, 6/30/1999.
- Removed test to see if the
HwTSLibTrimLoop2d::SetupNaturalOuterTrimLoop
was working correctly; the test was considerably less
reliable than the routine. 6/30/1999.
- Changed
HwNlibIgesInterface::PassBrep to
default to converting the BRep to a collection of trimmed
surfaces and passing them to
PassTrimmedSurface , so as to emulate the old
behavior by default. 6/29/1999.
- Many changes to documentation, 6/28/1999-6/30/1999.
- Added
inline to the several of the
HwStdMap member functions, 6/27/1999.
- Made sure that
HW_NO_DEBUG worked when
defined, including making HW_ASSERT a no-op
in that case, 6/25/1999.
- Patch to see that trimloops around singularities are
written out properly in parameter space, 6/24/1999.
- Rearranged the order of cleanup operations on 3D trim
curves, to make sure the tolerance, if it is going to be
changed, is changed before the rest of the cleanup
operations are done. This cleared up the problem the
patch backed out below was intended to fix. 6/23/1999.
- Backed out the previous change when it seemed to have
a bit of an adverse effect, 6/22/1999.
- Specified that the maximum width of a surface must be
greater than fives times the 3D tolerance, which
cleans up some trouble cases in TSLib. 6/21/1999.
- Removed a syntax error in the
HwStdVector
constructor template. Borland complained about it,
everyone else just worked. 6/21/1999.
- Added
stdlib.h to the includes for
HwNlibObject.h so that Geomware's
nurbs.h doesn't pull it in. This is because
the extern "C" wrapper around our use of
nurbs.h interferes with a template declaration
in Borland's version of stdlib.h . 6/21/1999.
- With the
HW_USE_ADVANCED_NLIB flag on, do not
reparameterize rational NURBS surfaces when doing a model
space trim. On our test case, a file with lots of trimmed
surfaces of revolution, this yielded a 200% speedup.
6/10/1999.
- Detect when odd parameter gaps are caused by undetected
(presumably interior) singularities, and compensate for
this, 6/9/1999.
Changes for version 1.0.9 |
|
- Changes to help bring the documentation up-to-date, plus
added examples, 6/7/1999-6/8/1999.
- Forced Nlib
CURVE dimension to match the
TSLib IwBSplineCurve dimension in
HwNlibObjectToTSLib::ConvertCurve , 6/7/1999.
- If a trimmed surface is planar and the model space curves
substantially deviate from the surface, project them to the
surface, 6/4/1999.
- Added code to smooth out complex ployline trimming loops,
6/3/1999-6/4/1999.
- Added mini-wrapper to ensure that the last parameter entry
is properly read and processed when the terminate section
is missing from the file, 6/2/1999.
- Removed most
news and deletes
from the header files, to avoid problems with DLLs and
inlining. The HW_AVOID_INLINE_NEW define
turns this on for HwStdVector . 6/1/1999.
- Added wrapper to properly trap errors due to premature
end-of-file, 5/25/1999.
- Added code to force degree 1 parameter space trim curves to
be in the parameter space of their surface, 5/25/1999.
- Added code to detect files without newlines and compensate
automatically, 5/25/1999.
- After seeing the good results of using twice tolerance as
the margin of degeneracy in the new
HwTSLibTrimLoop3d::RemoveDegenerateCurves ,
switched
HwTSLibTrimLoop2d::RemoveDegenerateCurves
to use it as well, 5/24/1999.
- Added
HwTSLibTrimLoop3d::RemoveDegenerateCurves
function. Don't know why it wasn't there in the first place.
5/24/1999.
- Improved error messages, 5/23/1999.
Changes for version 1.0.8 |
|
Note: This release took so long that dates have been forgotten. Sorry.
- Added
#if# block to bits of the new BRep code
to make it easy to switch it to work with older versions
of TSLib, 5/22/1999.
- Made curve creation a bit more verbose, 5/21/1999.
- Moved
HwStdString destructor out-of-line to
avoid "module" conflicts -- the memory for the string was
being newed in the DLL, but deleted in the calling code. It
isn't clear whether this was a real problem or a potential
one.
- Added
HwNlibObjectToTSLib::ConvertBrep to
convert an HwNlibBrep object to an
IwBrep .
- Added
HwNlibIgesInterface::PassBrep to handle
the new HwNlibBrep type.
- Added support for reading
HwNlibBrep entities.
- Added two new
HwNlibObject subclasses,
HwNlibShell and HwNlibBrep to
fully support solids.
- Added new
HwNlibCurve::MakeSingleNurbs virtual
interface which allows the specification of start and end
parameters (so that you get a subset of the curve).
- Added the
HwNlibIgesProgressTracker class so
that you can monitor the progress made transferring the
HwIgesFile into HwNlib data
structures.
- Added the
HwIgesFileReaderProgressTracker
class so that you can monitor the progress made reading the
IGES file into memory.
- Added
HwIgesParameterIterator::GetLogical to
more gracefully handle the "logical" type added recently to
the IGES standard. (GetInteger would have
worked, but this way we can return a bool and
provide a little more automatic validation.)
- Added
HwIgesFile::CountDirectoryEntities to
count the size of the directory section, presumably before
the parameter section has been read in (at which point it
would generally be more sensible to use
HwIgesFile::CountValidEntities ).
- New singularity code which recognizes partial singularities
along the edge of a surface. 4/21/1999-4/22/1999.
- Added
HwNlibObjectToTSLib::ConvertSurfaceModelOnly
for those cases when parameterization is irrelevant. No
practical difference at the moment, just a logical one.
4/21/1999.
- Added
IW_ERR_REQUIRES_ADVANCED_NLIB error
status, 4/20/1999.
Changes for version 1.0.7 |
|
- Changed new intersection code to recognize that a closed
loop inside a larger loop is normal if it is a model space
loop on a closed surface, 4/16/1999.
- Simplified
HwNlibCompositeCurve::MakeSingleNurbs ,
4/15/1999.
- Cleaned up
HwNlibCircle::Evaluate to handle
reversed curves, 4/15/1999.
- Eliminated the use of
LiftCurve to determine
if a parameter space curve is degenerate in model space,
4/14/1999.
- Discovered that individually deleting Nlib
CURVE s and SURFACE s is an
O(N^2) operation. Letting them hang around until the
stack goes away is slightly less memory efficient, but
a big win in terms of speed. 4/13/1999.
- Tried to make the system smarter about when it needs to
ask TSLib to calculate parameter space trimming curves.
This yields a small speed up. 4/13/1999.
- Added
PassLine and PassCircle
functions to the HwTSLibIgesReceptacleInterface
interface. These are now the preferred way to receive
line and circular arc info in IGES/TSLib, replacing the
HwNlibObjectToTSLib::ConvertCurveRichly
function for producing IwLine and
IwEllipse objects. 4/12/1999.
- Found similar weakness in N_igs100, created work around,
4/8/1999.
- Found bug in N_igs104, submitted patch to GeomWare, 4/7/1999.
- Implemented first approaches to the linear and functional
offset curve types, 4/6/1999.
- Switched the new intersection code back on, 4/6/1999.
Changes for version 1.0.6 |
|
- Switched untrimmed surface to
IwBrep code
to use the full trimming facilities for its first try. This
clears up several problems with tricky surfaces. 4/2/1999.
- Got the parameter curve correction code to recognize and
take advantage of isocurves, 4/1/1999.
- Added new code for dealing with the case when a gap is
large in parameter space but small in model space. 3/31/1999.
- Fixed a glitch that caused the gap fixing code to get
overly generous on surfaces of revolution. 3/30/1999.
- Added an
#if block to make it easy to switch
the code to work with pre-February 1999 versions of TSLib,
3/30/1999.
- Added code to detect rectangular, isocurve outer trimloops,
trim the surface to that size, and then use the natural
outer loop. This helps simplify surfaces, especially in
cases very near a singularity. 3/30/1999.
Changes for version 1.0.5 |
|
- Reworked the stream support a bit. Probably shoudln't make
any appreciable difference now, but it is closer to being
ready to use the new standard library streams. 3/24/1999.
- Added
IW_ERR_USER_ABORT error condition
reserved for customer use. This allows one of the
HwTSLibIgesReceptacleInterface
Pass functions to cause the translater to exit
early. (Actually, any error returned by one of these
functions will make the translator shut down early, but
HarmonyWare promises never to use this particular error, so
you can reliably detect if you wanted everything to shut
down.) 3/23/1999.
- Added
HwIgesLookupColorDefinition to simplify
getting the color information out of an IGES file,
3/23/1999.
- Fixed bug that always returned the absolute value of any
field in the directory entry, losing the negative sign,
3/23/1999.
- Fixed single curve loops to do a self-intersection check
instead of splitting them into pieces and trying to
intersect the pieces, 3/20/1999. [This change was backed
out for the release, because it needs a bit more testing.]
- Added private copy constructor to
HwTSLibIgesReceptacleInterface to prevent a
compiler-generated (and completely wrong) one from be
created by accident. (We don't think the compiler should
generate one for a pure virtual class, but we got a report
from the field that it was happening, and better safe than
sorry.) 3/19/1999.
- Tweak to reduce memory use in strings, 3/18/1999.
Changes for version 1.0.4 |
|
- Added code to ensure that composite curves written out by
HW IGES are contected, 3/17/1999.
- Added a check to see if the gap-closing 3D curve created by
HwTSLibTrimLoop3d::FillInGaps actually closes
the gap; if it doesn't, reject the surface, preventing a
possible infinite loop. (In the long term, we need to
work out why the curve fails to close the gap.) 3/16/1999.
- Added the creation of UV trim curves to the
HwNlibSurface to IwBrep
conversion routine. This catches certain surfaces that
will cause problems for TSLib. (In the long term, we need
to work out how to do something useful with these surfaces,
but avoiding them is important for the short term.)
3/16/1999.
- Expanded the
HwTSLibIgesReceptacleInterface
interface to make it full featured, and added a version of
hwiges_ReadIges which uses the interface.
(Among other things, this enables you to process each
entity as it is translated, rather than waiting till the
end.) 3/11/1999-3/15/1999.
- Offset curves implementation started. The code for
creating a NURBS version requires Advanced Nlib, and should
be considered experiemental -- I only have one offset curve
to try it on. 3/10/1999.
- Added knot reduction for entity types 112 and 114, 3/9/1999.
- Offset surfaces implemented. The code for creating a
NURBS version requires Advanced Nlib, and should be
considered experiemental -- I only have one offset surface
to try it on, and the routine performs badly in tight
tolerance situations. 3/9/1999.
Changes for version 1.0.3 |
|
- Added code to properly handle
HwNlibStraights
and HwNlibCircles which are contained in
HwNlibCompositeCurves , 3/8/1999.
- Realized that it wasn't appropriate to generate
IwLines and IwEllipses in
every situation, and therefore made a
HwNlibObjectToTSLib::ConvertCurveRichly
function for situations when you'd like to get them. By
default, this function is never used. (Presumably, we'll
add a flag to one of the interfaces to turn it on. In the
meantime, you can only turn it on by modifying the source
code by hand.) 3/7/1999.
- Added code to generate
IwEllipses for
HwNlibCircles , 3/6/1999.
- Added code to generate
IwLines for
HwNlibStraights , 3/5/1999.
- Added minor
HwNlibCurve::GetMinorType
functions, 3/5/1999.
- Added a second "check for small curves" pass on parameter
space trimming, in case new small curves have been created
by the intersection removing code, 3/4/1999.
- Fixed ruled surfaces to handle rational NURBS, 3/2/1999.
- Fixed ruled surfaces to handle rational NURBS, 3/2/1999.
- Added arclength parameterization for degree 1, non-rational
NURBS, 3/2/1999.
- Switched the ruled surface code to use the new
HwNlibCurve::MakeSingleNurbs interface. For
the first time, arclength ruled surfaces (form 0) work --
so long as the defining curves are simple things we can
make arclength NURBS for. At the moment, only straight
lines, I fear, unless you have Advanced Nlib, which allows
you to closely approximate circles. 3/1/1999.
- Got a new version of TSLib which fixed two crashes
seen in the standard IGES test file
cals/nentity.igs . Unfortunately, the change
broke about ten other trimmed surfaces in our test suite.
Some days...
3/1/1999.
- Revised the
HwNlibCurve::MakeNurbs and
HwNlibCurve::MakeSingleNurbs interfaces so
that they are more compact and expressive, 2/27/1999.
- Plugged a minor memory leak that occurred when a entity
could not get its transformation matrix, 2/26/1999.
- Retooled the new (for 1.0.2) version of
HwTSLibIges.h slightly so that it doesn't have
to pull in the Nlib headers, which conflict with
windows.h , 2/26/1999.
- A patch to Doc++ 3.3.9 gets rid of most of the junk in the
documentation, 2/26/1999.
- Added IW_EXPORT to
HwIgesEffectiveDirectoryCalculator ,
2/25/1999.
Changes for version 1.0.2 |
|
- Many improves to documentation. (Unfortunately, switching
to Doc++ 3.3.9 resulted in some additional random garbage
showing up, too.) 2/25/1999.
- Implemented a way to go from an IGES identifier to the
effective directory for the entity, including the
appropriate fields from any controlling entities, 2/24/1999.
- Implemented "rich" interface version of the
hwiges_ReadIges . This attaches an identifier
to each IW entity returned, plus (if desired) the full
HwIgesFile structure. 2/24/1999.
- Fixed a somewhat more substantial memory leak. Basic
model now tests clean. 2/23/1999.
- Cleaned up the error handling involved with the associated
data processing, 2/23/1999.
- Fixed some minor memory leaks, 2/22/1999.
- Wrote code for scanning and storing the associated data at
the end of every parameter data field, 2/20/1999.
- Laid groundwork for handling the wilder varieties of ruled
surfaces, 2/19/1999. [Later discovered that this wouldn't
be useful for ruled surfaces at all. Sigh. It will stay
in because it may be useful in the future.]
- Added somewhat experimental code to allow model space
trimming on non-G1 continuous surfaces, 2/16/1999.
- Got updated
IwBrep.cpp from IntegrityWare,
which fixes several problem surfaces, 2/16/1999.
Changes for version 1.0.1 |
|
- Properly implemented the ownership flag in
HwNlibTrimmedSurface , 2/15/1999.
- Fixed
HwNlibIges::Process bugs that caused an
early exit under certain conditions, 2/15/1999.
- Realized that it was silly to pass the default 3D tolerance
to
DropCurve when we're trying to find a better
3D tolerance because we know the one we have isn't any good,
2/13/1999.
- Work on the Doc++ system to enhance the documentation,
2/11/1999.
- Basic support for using parameter space loops on
tabulated cylinders, along the exact same lines as
the surfaces of revolution modifiction, 2/10/1999.
- Added tools for finding the parameter range of a
HwNlibCurve , 2/10/1999.
- When creating entities 126 or 128, check the start and
end parameter value to see if they are extremely close
to a knot; if so, move them to the knot. (This fixes
a crash we were seeing.) 2/9/1999.
- Fixed a trivial but fatal bug exposed with the first real
workout of Subfigures, 2/9/1999.
- Changed Entity Type 308 (Subfigure Definition) to give a
warning instead of a fatal (to the entity's creation) error
when one of the entities referenced in the subfigure cannot
be created. 2/9/1999.
- Changed the
HwAbstractMessageLogger interface
a bit, adding two new virtual (but with defualt
definitions) functions: SendWithReason , which
attaches an explanation on the line after the message,
and LookupReason , which provides a text string
to describe a IwStatus value. 2/9/1999.
Changes for version 1.0.0 |
|
- Changed the trimming harness so that, if both parameter
space and model space loops are usable, it will try the
other if the first attempt to trim fails, 2/5/1999.
- Completed the first-pass implementation of surface of
revolution parameter space trimming curve adjustment. It
requires Advanced Nlib -- if availalble, you need to
uncomment the
HW_USE_ADVANCED_NLIB define in
"HwCommon.h" . It's still slow and largely
untested, but it seems to have excellent results. 2/4/1999.
- Used
IwBrep::MergeBrep to eliminate the "add
instead of create" dataflow path. This new version
simplifies the code somewhat. 2/4/1999.
- Documentation updates, 2/2/1999-2/5/1999.
- Added preliminary code to allow those with Advanced Nlib to
use parameter space trimming curves on surfaces of
revolution, 2/1/1999-2/2/1999.
- Added
HwNlibCurve::MakeG1Nurbs using the
code from
HwTSLibToNlibObject::SplitCurveIfNecessary ,
which was then deleted, 2/2/1999.
- Got updates from
IntegrityWare
fixing the bugs revealed by adding
ValidatePointer . Unfortunately, this creates
a new interface, so HarmonyWare IGES 1.0.0 will not be
compatiable with pre-February 1999 versions of TSLib/SMLib.
2/1/1999.
- Migrated recent
IwFace::ComputeLoopOrientation
changes into IGES/TSLib, 2/1/1999.
- Added
ValidatePointer checks, 1/28/1999-1/31/1999.
- Many documentation changes, 1/25/1999.
- Tweaked
HwIgesReader and
HwIgesWriter classes while documenting them,
1/23/1999.
- Made proper TSLib and miniNlib makefiles, 1/23/1999.
- Renamed some of
HwIgesFile members, as the
harsh light of documentation revealed their previous names
did not really reflect what they did, 1/22/1999.
- Added the
HwIgesParameterIterator::GetUnsignedInteger
for better error checking when processing the incoming IGES
file, 1/22/1999.
- Made some changes intended to get the switch to use
the STL classes to work again. Unfortunately, Microsoft
chokes on putting them in a DLL header, and when I got them
all complied with on Linux, I discovered a logical flaw
which trips everything up. So this goes on the 1.1 to do
list. 1/21/1999.
- Eliminated use of
ostrstream . It was awkward
to use, and obsolete too. It may be low-tech, but
sprintf gets the job done, and is highly
portable. 1/21/1999.
- Added support for providing not only the DE of the entity
in question, but also that of any parent entities, 1/21/1999.
- Replaced calls to
IwFace::ComputeLoopOrientation which were only
intended to ensure the UV trim curves on the face had been
created with calls to CreateTrimCurves ,
1/19/1999.
- Added code to determine the proper tolerance to write to
the IGES file in hwiges_WriteIges, 1/13/1999.
- Received an
IwSurface::DropCurve update from
IntegrityWare
which cleaned up a number of problems with one particular
IGES file, without harming the performance of the others in
my test suite. 1/13/1999.
- Fixed glitch caused by ignoring the interval of edges when
writing
IwFaces by not ignoring that interval,
1/13/1999.
- Added support for setting level and color number when writing,
1/11/1999.
- Suppressed error message if the model space trial trim
fails, 1/11/1999.
- Various other tweaks, including new makefiles for Linux,
1/7/1999.
- Reorganization of the IGES/TSLib surface trimming code.
Among other things, this frees it up from the requirement
of working with
HwNlibObject types, which
should allow it to be easily used without the IGES
translator. 1/3/1999-1/6/1999.
- Started adding new error messages, 1/3/1999.
- Added class for processing group (type 402 form 1/7)
information, 1/2/1999.
- Improved HwAbstractMessageLogger class, 1/1/1999-1/3/1998.
- Updated code for fixing small gaps in model space curves
so that the tweaked curve ends still lie on the surface,
1/1/1999.
- Rewrote and turned on code to adjust UV space curves which
ended very near singularities so that they end exactly on
the singularity. (Because of previous change, this makes
the curves very nearly exact.) This clears up more than
half of the outstanding problem surfaces. 12/28/98.
- Added code to force logical singularities (edge shorter
than 3D tolerance) to physical singularities (edge zero
length), 12/27/98.
- Got a fix from
IntegrityWare
which eliminated another crash, 12/23/98.
- Added a continuity check to
HwNlibObjectToTSLib::ConvertSurface to weed out
overly degenerate surfaces, 12/22/98.
- Enable the
bMakeSingleBrep flag for the
hwiges_ReadIges call, 12/20/98.
- Got the Dec 19, 98 version of TSLib from
IntegrityWare,
12/19/98.
- Got an update from
IntegrityWare
which made more C0 surfaces trim properly, 12/17/98.
- Added a hack to ensure that 3D tolerance is never smaller
than 1e-6. In the long run, the appropriate tolerance
should be automatically detected, but in the short run this
clears up a lot of problems without introducing any new
ones. 12/17/98.
- Changed parameter loop gap analysis to treat as trivial
gaps which are within tolerance in 3D space and less than
1/1000th the size of the surface in UV space, even if they
are greater than UV tolerance. It didn't actually improve
anything in the test suite, but fixes a problem I was
seeing, even if that particular surface still doesn't read
in. 12/17/98.
- Got an update from
IntegrityWare
which fixed more problems caused by the update before last,
12/17/98.
- Wrote my own singularity checking code to get around the
problems I've been having with
IwSurface::IsSingularity . My code is worse at
the weird cases, but much better at the normal ones.
12/17/98.
- Optimized
HwNlibCURVE a touch, 12/14/98.
- Adjusted the parser so that the goofy double "2E-5.0" is
read as "2e-5" and not "2e-50", 12/12/98.
- Coded more detailed analysis of gaps in parameter space
loops. The new version reliably handles what the old one
could, plus one new case, with several error cases now
identified. Two unusual and difficult cases remain to
be coded, 12/11/98.
- Got an update from
IntegrityWare
which fixed the problems caused by the previous update,
12/10/98.
- Extended rejection of degenerate trimming curves to include
curves smaller than model space tolerance, 12/10/98.
- Added more informative messages during trimmed surface
processing, 12/9/98-12/10/98.
- Got an update from
IntegrityWare
which fixed the crashes I had been seeing, 12/9/98.
- Added logging of loops reversed before sending them to
MakeFaceWithCurves, 12/8/98.
- Fixed it so model space curve ends are not tweaked if they are
already exactly co-incident, 12/4/98.
- Added brief documentation for users without Nlib. 12/2/98.
- Fixed regression caused by model space gap filling code.
In the process, moved the 3D tolerance check before this
call. 12/2/98.
- Added code to check for the actual 3D tolerance when
trimming with model space curves, adjusting the 3D
tolerance on the IwBrep appropriately, 12/1/98.
- Moved around
MakeBrep calls, deleting some
unnecessary asserts in the process, so that it is called
at the last possible moment, allowing us to easily change
the 3D tolerance during the preparation for the
IwBrep creation process, 12/1/98.
- Added fairly crucial
SER wrapper, so that an
error in when adding a model space loop no longer leads to
a seg fault, 12/1/98.
- Discovered a bug in
IwEdgeuse::EvaluateBinormal and got fix from
IntegrityWare,
11/25/98.
- Turned on gap filling for model space loops, 11/24/98.
- Wrote routine to examine the parameter space trimloop
created from model space trimloop and make any necessary
small adjustments to make the connectivity exact, 11/24/98.
- Added message logger documentation, 11/23/98.
- Tweaks to documentation, 11/23/98.
- Added the capablity to pass points in the NMTLib interface,
11/23/98.
- Fixed doubled lines in the message log when in the paranoid
check for model space outer loop on a closed surface,
11/21/98.
- Allowed overriding the file tolerance in the NMTLib
interface, 11/21/98.
- Discovered a bug in
N_cur1gs and got fix from
GeomWare,
11/20/98.
- Found several pleases where
HW_NEW was not
used and should have been. Fixed 11/20/98.
- Eliminated the
HW_NEW (p_context) construct.
The idea of HW_NEW is to allow the user to
replace a standard new with a placement
new , but the HW_NEW (p_context)
construct was already a placement new , and the
construct new (...) (p_context) would be quite
illegal. (HW_NEW still used for other uses for
new .)
Fixed 11/20/98.
- Changed trim loop intersection code to deal with the case
when an entire curve is contained in another curve. Fixed
11/19/98.
- Changed the trimming routines so that they would work if no
trimloops were present. (Thank you, Catia, for sending a
trimmed surface with no trimming curves....) Fixed
11/18/98.
- Logged incorrect messages as to whether parameter space or
model space trimming was used. Fixed 11/18/98.
- Incorrectly oriented model space curves on the seam of a
closed surface were sometimes created incorrectly (as
opposed to correctly but backwards). Most noticable on
trimmed surfaces of revolution. Fixed 11/18/98.
Initial pre-release is version 0.50 |
|
Return to the main HarmonyWare page.
|