CADability dotNET
Namespace for the geometric entities. Geometric entities are the items in the database handled by CADability. Geometric entities can also be visualized or displayed.

Classes

  ClassDescription
Public classBlock
Ein Block als geometrisches Objekt. Der Block besitzt seine Kinder. Beim Clonen werden Kopien der Kinder erzeugt. A collection of several IGeoObjects
Public classBlockRef
Public classBSpline
A BSpline is a smooth curve defined by a set of control points. It is implemented as a NURBS - non uniform rational b-spline.
Public classBSplineException
Public classConicalSurface
A conical surface which implements ISurface. The surface represents a circular or elliptical cone. The u parameter always describes a circle or ellipse, the v parameter a Line.
Public classCurveException
Exception thrown by object implementing ICurve.
Public classCurves
This class provides static methods concerning the interaction of two or more ICurve objects.
Public classCylindricalSurface
A cylindrical surface which implements ISurface. The surface represents a circular or elliptical cylinder. The u parameter always describes a circle or ellipse, the v parameter a Line.
Public classDimension
The dimension object represents a dimensioning in a model and is a GeoObject. To use a dimension object you must at least set the properties DimensionStyle, DimLineRef, DimLineDirection, and add two points with the AddPoint(GeoPoint) method. Example:
CopyC#
// assuming "project" is a reference to a Project
Dimension d = Dimension.Construct();
d.DimensionStyle = project.DimensionStyleList.Current;
d.DimLineRef = new GeoPoint(200, 200, 0);
d.DimLineDirection = GeoVector.XAxis;
d.AddPoint(new GeoPoint(100, 100, 0));
d.AddPoint(new GeoPoint(200, 100, 0));
d.AddPoint(new GeoPoint(300, 100, 0));
project.GetActiveModel().Add(d);
Public classEllipse
Public classEllipseException
Public classFace
A face is a finite piece of a surface. It is bounded by a SimpleShape in the 2-dimensional u/v space of the surface. A face is also a IGeoObject. The bounding curves of a face are implemented as Edges. If a face is contained in a Model it doesnt share its edges with other faces. If a face is part of a Shell (which maybe a part of a Solid) it shares some or all of its edges with other faces.
Public classGeneralCurve
Public classGeneralCurveException
Public classGeoObjectChange
This class is used as a parameter in the ChangeDelegate event of IGeoObject (see WillChangeEvent).
Public classGeoObjectException
Exception type thrown by GeoObjects
Public classGeoObjectList
Simple list of GeoObjects (IGeoObject). Implemented as an ArrayList.
Public classHatch
A GeoObject that represents a flat (2d) shape filled by a HatchStyle. It also acts as a Block presenting e.g. the hatch lines as its containing child objects. To fully define a Hatch object you have to set these three properties: Plane, CompoundShape and HatchStyle. If you omit one of these properties you wont see the Hatch object as it is not fully defined. No defaults are assumed.
Public classIcon
A GeoObject that displays an icon at a given position. The icon will always face the viewer and will not be scaled. The icon appears with a small offset in direction to the viewer, so it will not be covered by a face whith which it coincides.
Public classIGeoObjectImpl
This class helps to implement IGeoObject by implementing some IGeoObject methods in a default way and by offering some helper methods.
Protected classIGeoObjectImpl..::..Changing
Helper class to wrap any changing of this GeoObject. Usually used in this way:
CopyC#
using (new Changing(this,...))
{
    // ... make the change here ...
}
This will call FireWillChange(GeoObjectChange) before the GeoObject is changed and FireDidChange(GeoObjectChange) after the GeoObject was changed with the appropriate parameters. Changig takes nested changes into account and raises the events only at the outermost level.
Protected classIGeoObjectImpl..::..ChangingAttribute
Helper class to wrap the setting of an attribute. Usually used in this way:
CopyC#
using (new ChangingAttribute(this,atrName,attribute))
{
    // ... set the attribute here ...
}
This will call FireWillChange(GeoObjectChange) before the attribute is changed and FireDidChange(GeoObjectChange) after the attribute was changed.
Protected classIGeoObjectImpl..::..ChangingException
An ApplicationException thrown when an error happens during a change operation.
Public classIntersection
This class provides some static methods concerning the intersection of 3D IGeoObject objects. The class Curves also provides some inetersction methods of ICurve objects.
Public classISurfaceImpl
Internal helper class for ISurface implementation.
Public classLine
The line is a IGeoObject. It is actually a line segment not an infinite line.
Public classMake3D
A class with static methods to create and combine Solids, Shells or Faces.
Public classNonPeriodicCylindricalSurface
Public classNurbsSurface
A NURBS surface implementing ISurface.
Public classOffsetSurface
Public classPath
A geoobject, that derives from Block and represents a ordered collection of geoobjects which all support the ICurve intrface. The contained curves are connected, i.e. Child(i).EndPoint is equal or close to Child(i+1).StartPoint. The Path is not necessary planar, closed and may be self intersecting.
Public classPathException
Public classPicture
A bitmap as a rectangular or rhombiod face in 3D space. This object is mainly used for illustration or as a background in a model. It is a GeoObject and may be part of a model. It is defined by the bitmap bits and the location in space.
Public classPlaneSurface
A planar infinite surface. Implements ISurface. The plane is defined by two vectors which are not necessary perpendicular or normed.
Public classPoint
Implements a point as a IGeoObject.
Public classPolyline
Public classPolylineException
Public classShell
Public classSnapPointFinder
Ths class serves as a parameter to FindSnapPoint(SnapPointFinder). It keeps the best snappoint, the object, which caused it and the distance to the mouse point.
Public classSolid
A Solid is a IGeoObject implementation that represents a solid body. Its main data is a collection of oriented faces. The normal vector on any point of the face points to the outside of the body. Solids have one set of faces that represent the outer hull and any number of cavyties that reside totally inside the outer hull. All cavyties are disjoint.
Public classSphericalSurface
Public classSurfaceOfLinearExtrusion
Surface defined by a 3d curve and a direction. A point at (u,v) of the surface is defined by the point of the curve at parameter u plus v*direction. It is the surface that is generated by the curve moved alon the direction. The curve may not have the direction as a tangential vector. Also the curve is defined in the interval [0,1], the parameterspace of this curve may also be defined by a startParameter and an endParameter.
Public classSurfaceOfRevolution
Public classSurfaceOfRevolution..::..Hyperbola
Public classSurfaceOfRevolution..::..HyperbolaHelp
Public classSurfaceOfRevolutionException
Public classSurfaces
Public classText
Simple Text object, Implements IGeoObject.
Public classText2D
Public classToroidalSurface
A toroidal surface which implements ISurface. The surface represents a torus in space. It is defined by its position in space (three directions) and two radii. The u parameter describes the "big" circles about the main axis, the v parameter describes the "small" circles.
Public classUnscaledGeoObject
A GeoObject which always appears in the same size in a view. It is not scaled when the view is zoomed. These objects can not be kept in displaylists and hence have a poor performance when used in high numbers. The objects rotate with the view when viewed from different directions. The Location specifies the position of the origin (GeoPoint(0,0,0)) of the referenced GeoObject. Usually you would center the referenced object at the origin so this object will be centered at the Location. In contrast to the Icon object, which always shows its face to the viewer and is much faster, because it can be kept in the display list. Since this object does not have a well defined size in world coordinates, it is only pickable or selectable at its insertion point. The size of the object is assumed in device units (pixels) The Layer of this object will be taken into account for the objects visibility, not the layer of the referenced object.

Remarks

The use of this object is not recommended because it has a poor performance in both display and selection. Consider using Icon instead.

Interfaces

  InterfaceDescription
Public interfaceI2DRepresentation
Interface for the 2D representation of a IGeoObject. Get2DRepresentation(Projection, GDIResources) must return a I2DRepresentation. You only have to deal with this interface if you want to implement you own IGeoObject objects or to override Get2DRepresentation(Projection, GDIResources) of existing IGeoObject objects.
Public interfaceI2DRepresentationWithPen
Interface for 2D representation referencing or using a Pen
Public interfaceICategorizedDislayLists
Public interfaceICurve
Interface implemented by one-dimensional geometric objects (eg. line, circle, bspline etc.). The curve may be open or closed.
Public interfaceIDimensionStyle
Public interfaceIExtentedableCurve
Interface for ICurve implementing objects that can be extended in one or two directions
Public interfaceIGeoObject
IGeoObject is the interface that all geometric entities must support (see GeoObject).
Public interfaceIGeoObjectOwner
An IGeoObject object is either owned by a Model or by a Block or it has no owner. The property Owner sets or gets that owner. The Model or Block implement this interface. If you need more functionality than Add and Remove, try to cast IGeoObjectOwner to Model or Block.
Public interfaceIGeoObjectShowProperty
Public interfaceINonPeriodicSurfaceConversion
Public interfaceIQuadTreeInsertableZ
Public interfaceISurface
The ISurface interface must be implemented by all 3-dimensional unbound surfaces that are used by the Face object. The surface has a well defined 2-dimensional coordinate system, usually referred to as the u/v system.
Public interfaceIVisibleSegments

Delegates

  DelegateDescription
Public delegateBlock..::..ConstructionDelegate
Public delegateBlock..::..PaintTo3DDelegate
Public delegateBlockRef..::..ConstructionDelegate
Public delegateBlockRef..::..PaintTo3DDelegate
Public delegateBSpline..::..ConstructedDelegate
Public delegateBSpline..::..ConstructionDelegate
Public delegateBSpline..::..PaintTo3DDelegate
Public delegateChangeDelegate
Delegate method that is invoked when a GeoObject is about to change or did change.
Public delegateCreateContextMenueDelegate
Public delegateDimension..::..ConstructionDelegate
Public delegateDimension..::..PaintTo3DDelegate
Public delegateEllipse..::..ConstructedDelegate
Public delegateEllipse..::..ConstructionDelegate
Public delegateEllipse..::..PaintTo3DDelegate
Public delegateFace..::..ConstructedDelegate
Public delegateFace..::..ConstructionDelegate
Public delegateFace..::..PaintTo3DDelegate
Public delegateGeneralCurve..::..ConstructionDelegate
Public delegateGeoObjectList..::..ObjectAddedDelegate
Public delegateGeoObjectList..::..ObjectRemovedDelegate
Public delegateHatch..::..ConstructedDelegate
Public delegateHatch..::..ConstructionDelegate
Delegate definition for Constructor
Public delegateHatch..::..PaintTo3DDelegate
Public delegateHatch..::..RecalcDelegate
Public delegateIcon..::..ConstructedDelegate
Definition of the Constructed event
Public delegateIcon..::..ConstructionDelegate
Delegate for the construction of a Icon.
Public delegateIGeoObjectImpl..::..GetAdditionalContextMenueDelegate
Public delegateLine..::..ConstructedDelegate
Public delegateLine..::..ConstructionDelegate
Delegate for the construction of a Line.
Public delegateLine..::..PaintTo3DDelegate
Public delegatePath..::..ConstructedDelegate
Public delegatePath..::..ConstructionDelegate
Public delegatePath..::..PaintTo3DDelegate
Public delegatePicture..::..ConstructedDelegate
Definition of the Constructed event
Public delegatePicture..::..ConstructionDelegate
Delegate for the construction of a Picture.
Public delegatePoint..::..ConstructedDelegate
Public delegatePoint..::..ConstructionDelegate
Public delegatePoint..::..PaintTo3DDelegate
Public delegatePolyline..::..ConstructedDelegate
Public delegatePolyline..::..ConstructionDelegate
Public delegatePolyline..::..PaintTo3DDelegate
Public delegateShell..::..ConstructedDelegate
Public delegateShell..::..ConstructionDelegate
Public delegateShell..::..PaintTo3DDelegate
Public delegateSolid..::..ConstructedDelegate
Public delegateSolid..::..ConstructionDelegate
Public delegateSolid..::..PaintTo3DDelegate
Public delegateText..::..ConstructionDelegate
Public delegateText..::..PaintTo3DDelegate
Public delegateUnscaledGeoObject..::..ConstructedDelegate
Public delegateUnscaledGeoObject..::..ConstructionDelegate
Delegate for the construction of a UnscaledGeoObject.

Enumerations

  EnumerationDescription
Public enumerationAttributeUsage
Public enumerationCurveException..::..Mode
Enumeration of different causes for this exception
Public enumerationDimension..::..EDimType
Different types of dimensioning
Public enumerationDimension..::..EditingMode
Public enumerationDimension..::..HitPosition
Public enumerationEllipseException..::..tExceptionType
Public enumerationExtentedableCurveDirection
Enumeration for direction of curve extension
Public enumerationExtentPrecision
Public enumerationGeoObjectException..::..tExceptionType
Kind of exception
Public enumerationMake3D..::..SolidModellingMode
Public enumerationPathException..::..ExceptionType
Public enumerationPlanarState
Enumeration for the classification of the planar state of a curve
Public enumerationPointSymbol
Flags definig the symbol for the presentation of a Point object. The flag may contain one of the values Empty=0x0,Dot=0x1,Plus=0x2,Cross=0x3,Line=0x4 combined with Square=0x8 or Circle=0x10.
Public enumerationPolylineException..::..PolylineExceptionType
Public enumerationSnapPointFinder..::..DidSnapModes
Resulting snap modes of the snap opertaion.
Public enumerationSnapPointFinder..::..SnapModes
Snap modes to specify in which points the SnapPointFinder should respect
Public enumerationText..::..AlignMode
Vertical alignement of the text.
Public enumerationText..::..LineAlignMode
Horizontal alignement of the text