Zentrale Stammdaten
  • 13 May 2024
  • 5 Minutes to read
  • Dark
    Light
  • PDF

Zentrale Stammdaten

  • Dark
    Light
  • PDF

The content is currently unavailable in English. You are viewing the default German version.
Article summary

AUTOBEMASSUNG.BAS

AUTOBEMASSUNG.INITBEMASSUNG(CBEMASSUNG)

Diese Prozedur ist die Voraussetzung damit ein Objekt bemaßt werden kann. Hier werden auf einer globalen Variablen alle notwendigen Attribute gesetzt die später verwendet werden. Je nach Projekt können hier Einstellungen verändert werden, wie z.B.:

pBemassung.Abstaende.AbstandVonGrafikOBEN = 120

pBemassung.Abstaende.AbstandVonGrafikRECHTS = 120

pBemassung.Abstaende.AbstandVonGrafikUNTEN = 120

pBemassung.Abstaende.AbstandVonGrafikLINKS = 120

pBemassung.Abstaende.AbstandZwischenLinienOBEN(k) = 100

pBemassung.Abstaende.AbstandZwischenLinienRECHTS(k) = 100

pBemassung.Abstaende.AbstandZwischenLinienUNTEN(k) = 100

pBemassung.Abstaende.AbstandZwischenLinienLINKS(k) = 100

AUTOBEMASSUNG.NEHMEFIGURAUF(CBEMASSUNG, LSTOUTLINE)

Um eine Figur bemaßen zu können muss das Profil (Outline) der Figur übergeben werden, damit später bei der Bemaßung die Umrandung richtig gerechnet werden kann.

!Voraussetzung ist immer .InitBemassung

Outlines(1) = Points2Outline({[ 0, 0], [ 400, 0],

[ 400, 300], [ 0, 400]})

!Outlines(1) = {SEGMENT([0,0],[400,0]), SEGMENT([400,0], [400,300]), …

RUN AUTOBEMASSUNG.NehmeFigurAuf(cBemassung, Outlines(1))

6.1.3 AUTOBEMASSUNG.NEUEBEMASSUNG<POSITION> (CBEMASSUNG, STRECKE)

Wurde eine Figur aufgenommen, so kann jede Strecke entweder unten, rechts, oben oder links bemaßt werden, dies geschieht über die Prozeduren:

AUTOBEMASSUNG.NeueBemassungUnten (cBemassung, Strecke)

AUTOBEMASSUNG.NeueBemassungRechts (cBemassung, Strecke)

AUTOBEMASSUNG.NeueBemassungOben (cBemassung, Strecke)

AUTOBEMASSUNG.NeueBemassungLinks (cBemassung, Strecke)

Bsp.:

RUN AUTOBEMASSUNG.NeueBemassungUnten (cBemassung, Outlines(2)[1])

RUN AUTOBEMASSUNG.NeueBemassungOben (cBemassung,SEGMENT([Outlines(2)[2].x1,0],[Outlines(2)[2].x2,0]))

6.1.4 AUTOBEMASSUNG.ZEICHNEBEMASSUNGSFELD(CBEMASSUNG)

Nachdem alle zu bemaßenden Figuren aufgenommen worden sind, kann ein Rechteck gezeichnet werden, welches all die zu bemaßenden Körper umhüllt. Dieses dient, auch wenn es nicht gezeichnet wird, dazu, um die Eckpunkte zu eruieren, damit die Bemaßungsabstände eingehalten werden können.

6.1.5 AUTOBEMASSUNG.KALKULIERESTRECKEN(CBEMASSUNG)

Diese Prozedur muss vor .ZeichneBemassung aufgerufen werden, damit die zu bemaßenden Strecken auch an der richtigen Ebene (max. 10 je Seite (unten, rechts, oben, links)) gezeichnet werden. Hier wird nachgesehen ob z.b. eine Bemaßung unten in der Ebene 1 noch Platz findet, wenn nicht, dann wird in der 2-ten Ebene nachgesehen. Ist dort Platz wird diese Stelle belegt, usw. usw…

6.1.6 AUTOBEMASSUNG.STRECKENAUFFUELLEN (CBEMASSUNG)

Diese Prozedur kann vor der dem eigentlichen Bemaßen aufgerufen werden. Durch diesen Aufruf werden die Lücken zwischen einzelnen Bemaßungslinien geschlossen.

6.1.7 AUTOBEMASSUNG.ZEICHNEBEMASSUNG (CBEMASSUNG)

Durch diesen Aufruf werden alle aufgenommen Strecken der einzelnen Figuren bemaßt. Sollt anstatt der Kugel bei den Anfang bzw. Endpunkten ein Strich gezeichnet werden, so kann dies durch Schalter in der Initialisierung verändert werden:

pBemassung.EbeneOben(k).Strecken.Bemassungslinie = 1 !0 ... Std

pBemassung.EbeneRechts(k).Strecken.Bemassungslinie = 1

pBemassung.EbeneUnten(k).Strecken.Bemassungslinie = 0

pBemassung.EbeneLinks(k).Strecken.Bemassungslinie = 0

Nun werden alle Bemaßungen oben und rechts mit Querstrichen anstatt mit Kugeln gezeichnet.

Diese Bemaßungsart ist sehr sehr performancelastig! Generell sollte man diese nur bei eher wenigen Bemaßungen verwenden.

6.2 GRAPHPROCS.BAS UND GRAPHPROCSF.BAS

Diese Datei enthält Prozeduren welche oft in Grafikprogrammierung gebraucht werden. Gelöst sind hier Profilveränderungen (Drehen, Spiegeln oder Erhöhungen), allgemeine Polygonfunktionen (Fläche und Umfang) und dergleichen. Diese werden erst in speziellen Workshops behandelt und würden den Rahmen diese Dokumentation sprengen.

6.5 LIB3D.BAS UND LIB3DF.BAS

Die Datei LIB3D.BAS wurde schon im Kapitel 3 Standardprozeduren ausführlich behandelt. Die Datei LIB3Df.BAS enthält elementare Funktionen für Punkte und Streckenzüge.

6.7 PLATTEN.BAS

Diese Datei enthält Prozeduren die für Erstellung von Arbeitsplatten notwendig sind. Hierbei sind Abrundungen, Ausnehmungen, Bohrungen und Kombinationen gemeint.

Falls man Arbeitsplatten konfiguriert, müssen diese oft zugeschnitten oder an den Ecken bearbeitet werden. Diese Zuschneidungen können positive oder negative Herdanschlüsse sein oder bei Eckbearbeitungen Abschrägungen, Ausklinkungen (rechteckig oder schräg) mit oder ohne Bohrungen (bei Glas) oder Abrundungen sein.

Nachfolgende Prozeduren gehen immer von einer rechteckigen Arbeitsplatte aus, deren Streckenzug links unten beginnt:

6.7.1 SCHRITT 1: INITIALISIERUNG

Voraussetzung für diese Prozeduren ist immer die Grundinitialisierung einer globalen Variablen. Diese wird mit einem Namen und einer wie oben beschriebenen Streckenzugliste (Outline) initialisiert und die notwendigen Attribute werden hier gesetzt.

Bsp.:

lstViereck = {SEGMENT([0,0], [FpBreite,0]),

SEGMENT([FpBreite,0], [FpBreite,FpHoehe]),

SEGMENT([FpBreite, FpHoehe], [0, FpHoehe]),

SEGMENT([0, FpHoehe], [0,0])}

Platte = ""

RUN InitialisierePlatte(Platte, "Meine Platte", lstViereck)

6.7.2 SCHRITT 2: STRECKENBEARBEITUNGEN

Es gibt 2 Streckenbearbeitungen, nämlich den negativen Herdanschluss sowie den positiven Herdanschluss.

Negativer Herdanschluss: 1

Positiver Herdanschluss: 2

Mit folgenden Aufruf definiert man die Herdanschlüsse:

RUN UebertrageHauptstreckenBearbeitungen(Platte, 1, 2, 400, 0, 100, 150, 100)

!Glob. Variable, Nr, Art, PosX, PosY, FpX, FpY, Laenge

Platte - Globale Variable, wird bei der Initialisierung definiert

Nr - Nummer des Streckenzuges (1 ist untere, 2 der rechte, …)

Art - 1 … negativer Herdanschluss

2 ... positiver Herdanschluss

PosX - wo beginnt auf der X-Achse der Herdanschluss ausgehen vom linken unteren Punkt

PosY - wo beginnt auf der Y-Achse der Herdanschluss ausgehen vom linken unteren Punkt

FpX - beschreibt die Steigung (x-Achse)

FpY - beschreibt die Steigung (y-Achse)

Laenge - Länge der Strecke (Innen bei neg. und Aussen bei pos. Herdanschluss!)

Man kann diese Bearbeitungen auch kombinieren:

Bsp.:

RUN UebertrageHauptstreckenBearbeitungen(Platte, 1, 2, 400, 0, 100, 150, 100)

RUN UebertrageHauptstreckenBearbeitungen(Platte, 2, 2, 0, 250, 100, 150, 200)

RUN UebertrageHauptstreckenBearbeitungen(Platte, 3, 1, 300, 0, 600, 200, 200)

RUN UebertrageHauptstreckenBearbeitungen(Platte, 4, 1, 0, 300, 150, 100, 200)

RUN ErstelleArbeitsplatte(Platte, lstStreckenZug)

idP = 0

RUN Y_Extrusion(idP, lstViereck, 10, "", 0, 10, 0)

idK = 0

RUN Y_Extrusion(idK, lstStreckenZug, 10, "Rot")

6.7.3 SCHRITT 3: PUNKTBEARBEITUNGEN

Es gibt 4 Punktbearbeitungen:

  1. Abschrägungen

  2. Rechteckige Ausklinkungen und rechteckige Ausklinkungen mit Bohrungen

  3. Ausklinkungen mit einer Schräge

  4. Abrunden (kreis- oder ellipsenförmig)

Wenn man Streckenbearbeitungen mit Punktbearbeitungen kombinieren will so müssen die Streckenbearbeitungen zuerst aufgerufen werden!

Abschrägungen

! GlobVar,Nr, Art, FpX, FpY

RUN UebertragePunktBearbeitungen(Platte, 1, 1, 100, 100)

RUN UebertragePunktBearbeitungen(Platte, 2, 1, 200, 100)

RUN UebertragePunktBearbeitungen(Platte, 3, 1, 100, 200)

RUN UebertragePunktBearbeitungen(Platte, 4, 1, 300, 400)

Ausklinkungen

Rechtwinkelige Ausklinkungen mit oder ohne Bohrungen

! GlobVar,Nr, Art, FpX, FpY, 0, 0, Radius

RUN UebertragePunktBearbeitungen(Platte, 1, 2, 100, 100, 0, 0, 13)

RUN UebertragePunktBearbeitungen(Platte, 2, 2, 200, 100 !Keine Bohrung

RUN UebertragePunktBearbeitungen(Platte, 3, 2, 100, 200, 0, 0, 25)

RUN UebertragePunktBearbeitungen(Platte, 4, 2, 300, 400, 0, 0, 80)

Schräge Ausklinkungen

! GlobVar,Nr, Art, FpX, FpY, FpX2

RUN UebertragePunktBearbeitungen(Platte, 1, 2, 100, 100, 100)

RUN UebertragePunktBearbeitungen(Platte, 2, 2, 200, 100, 100)

RUN UebertragePunktBearbeitungen(Platte, 3, 2, 100, 200, 100)

RUN UebertragePunktBearbeitungen(Platte, 4, 2, 300, 400, 100)

Abrunden

! GlobVar,Nr, Art, FpX, FpY

RUN UebertragePunktBearbeitungen(Platte, 1, 3, 400, 400)

RUN UebertragePunktBearbeitungen(Platte, 2, 3, -200, -400) !Innen

RUN UebertragePunktBearbeitungen(Platte, 3, 3, 200, 400)

RUN UebertragePunktBearbeitungen(Platte, 4, 3, -200, -400) !Innen

Sind FpX und FpY negativ bzw. ist ein Wert davon negativ so erfolgt die Rundung nach innen!

6.7.4 SCHRITT 4: ARBEITSPLATTE (OUTLINE) ERSTELLEN

Nachdem man alle Bearbeitungen übertragen hat kann mittels dem Prozeduraufruf

lstStreckenZug = {}

RUN ErstelleArbeitsplatte(Platte, lstStreckenZug)

der endgültige Streckenzug ermittelt werden. Diese Outline kann dann via Extrusionsbefehle grafisch dargestellt werden.

6.7.5 WEITERE BEISPIELE

Positiver Herdanschluss vorne und hinten, eine Eckausnehmung hinten recht s und die linke hintere Ecke wird gerundet:

RUN UebertrageHauptstreckenBearbeitungen(Platte, 1, 2, 600, 0, 300, 200, 200)

RUN UebertragePunktBearbeitungen(Platte, 3, 2, 200, 200, 100,0)

RUN UebertragePunktBearbeitungen(Platte, 4, 3, 200, 200, 0,0)

Vier negative Herdanschlüsse mit 4 Innenausrundungen an jeder Ecke:

RUN UebertrageHauptstreckenBearbeitungen(Platte, 1, 1, 500, 0, 300, 200, 200)

RUN UebertrageHauptstreckenBearbeitungen(Platte, 2, 1, 0, 250, 300, 200, 200)

RUN UebertrageHauptstreckenBearbeitungen(Platte, 3, 1, 500, 0, 300, 200, 200)

RUN UebertrageHauptstreckenBearbeitungen(Platte, 4, 1, 0, 250, 300, 200, 200)

RUN UebertragePunktBearbeitungen(Platte, 1, 3, -100, -100)

RUN UebertragePunktBearbeitungen(Platte, 2, 3, -100, -100)

RUN UebertragePunktBearbeitungen(Platte, 3, 3, -100, -100)

RUN UebertragePunktBearbeitungen(Platte, 4, 3, -100, -100)

Ein negativer Herdanschluss unten und oben und eine Eckausnehmung mit Bohrung links unten, rechts unten eine schräge Ausklinkung , rechts oben eine Abschrägung und links oben wird nach innen gerundet.

RUN UebertrageHauptstreckenBearbeitungen(Platte, 1, 1, 700, 0, 200, 200, 200)

RUN UebertrageHauptstreckenBearbeitungen(Platte, 3, 1, 700, 0, 200, 200, 200)

RUN UebertragePunktBearbeitungen(Platte, 1, 2, 300, 400, 0, 0, 80)

RUN UebertragePunktBearbeitungen(Platte, 2, 2, 200, 200, 200)

RUN UebertragePunktBearbeitungen(Platte, 3, 1, 300, 200)

RUN UebertragePunktBearbeitungen(Platte, 4, 3, -400, -400)


Was this article helpful?