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
Class | Description | |
---|---|---|
Block |
Ein Block als geometrisches Objekt. Der Block besitzt seine Kinder. Beim Clonen
werden Kopien der Kinder erzeugt.
A collection of several IGeoObjects
| |
BlockRef | ||
BSpline |
A BSpline is a smooth curve defined by a set of control points. It is implemented as a NURBS - non uniform rational b-spline.
| |
BSplineException | ||
ConicalSurface |
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.
| |
CurveException |
Exception thrown by object implementing ICurve.
| |
Curves |
This class provides static methods concerning the interaction
of two or more ICurve objects.
| |
CylindricalSurface |
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.
| |
Dimension |
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); | |
Ellipse | ||
EllipseException | ||
Face |
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.
| |
GeneralCurve | ||
GeneralCurveException | ||
GeoObjectChange |
This class is used as a parameter in the ChangeDelegate event of IGeoObject
(see WillChangeEvent).
| |
GeoObjectException |
Exception type thrown by GeoObjects
| |
GeoObjectList |
Simple list of GeoObjects (IGeoObject). Implemented as an ArrayList.
| |
Hatch |
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.
| |
Icon |
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.
| |
IGeoObjectImpl |
This class helps to implement IGeoObject by implementing some IGeoObject methods
in a default way and by offering some helper methods.
| |
IGeoObjectImpl..::..Changing |
Helper class to wrap any changing of this GeoObject. Usually used in this way:
CopyC# using (new Changing(this,...)) { // ... make the change here ... } | |
IGeoObjectImpl..::..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 ... } | |
IGeoObjectImpl..::..ChangingException |
An ApplicationException thrown when an error happens during a change operation.
| |
Intersection |
This class provides some static methods concerning the intersection of 3D
IGeoObject objects. The class Curves also provides
some inetersction methods of ICurve objects.
| |
ISurfaceImpl |
Internal helper class for ISurface implementation.
| |
Line |
The line is a IGeoObject. It is actually a line segment
not an infinite line.
| |
Make3D | ||
NonPeriodicCylindricalSurface | ||
NurbsSurface |
A NURBS surface implementing ISurface.
| |
OffsetSurface | ||
Path |
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.
| |
PathException | ||
Picture |
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.
| |
PlaneSurface |
A planar infinite surface. Implements ISurface.
The plane is defined by two vectors which are not necessary perpendicular or normed.
| |
Point |
Implements a point as a IGeoObject.
| |
Polyline | ||
PolylineException | ||
Shell | ||
SnapPointFinder |
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.
| |
Solid |
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.
| |
SphericalSurface | ||
SurfaceOfLinearExtrusion |
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.
| |
SurfaceOfRevolution | ||
SurfaceOfRevolution..::..Hyperbola | ||
SurfaceOfRevolution..::..HyperbolaHelp | ||
SurfaceOfRevolutionException | ||
Surfaces | ||
Text |
Simple Text object, Implements IGeoObject.
| |
Text2D | ||
ToroidalSurface |
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.
| |
UnscaledGeoObject |
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.
RemarksThe use of this object is not recommended because it has a poor performance in both display and selection.
Consider using Icon instead. |
Interfaces
Interface | Description | |
---|---|---|
I2DRepresentation |
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.
| |
I2DRepresentationWithPen |
Interface for 2D representation referencing or using a Pen
| |
ICategorizedDislayLists | ||
ICurve |
Interface implemented by one-dimensional geometric objects (eg. line, circle, bspline etc.).
The curve may be open or closed.
| |
IDimensionStyle | ||
IExtentedableCurve |
Interface for ICurve implementing objects that can be extended in one or two directions
| |
IGeoObject |
IGeoObject is the interface that all geometric entities must support
(see GeoObject).
| |
IGeoObjectOwner | ||
IGeoObjectShowProperty | ||
INonPeriodicSurfaceConversion | ||
IQuadTreeInsertableZ | ||
ISurface |
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.
| |
IVisibleSegments |
Delegates
Enumerations
Enumeration | Description | |
---|---|---|
AttributeUsage | ||
CurveException..::..Mode |
Enumeration of different causes for this exception
| |
Dimension..::..EDimType |
Different types of dimensioning
| |
Dimension..::..EditingMode | ||
Dimension..::..HitPosition | ||
EllipseException..::..tExceptionType | ||
ExtentedableCurveDirection |
Enumeration for direction of curve extension
| |
ExtentPrecision | ||
GeoObjectException..::..tExceptionType |
Kind of exception
| |
Make3D..::..SolidModellingMode | ||
PathException..::..ExceptionType | ||
PlanarState |
Enumeration for the classification of the planar state of a curve
| |
PointSymbol |
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.
| |
PolylineException..::..PolylineExceptionType | ||
SnapPointFinder..::..DidSnapModes |
Resulting snap modes of the snap opertaion.
| |
SnapPointFinder..::..SnapModes |
Snap modes to specify in which points the SnapPointFinder should respect
| |
Text..::..AlignMode |
Vertical alignement of the text.
| |
Text..::..LineAlignMode |
Horizontal alignement of the text
|