APPLICATIONSCREATION GRAPHIQUE ★ COMPUTER-AIDED-DESIGNER (CPC AMSTRAD INTERNATIONAL) ★

Computer-Aided-DesignerCAD-Einführung (Folge 2)CAD-Einführung (Folge 3)CAD (Folge 4)CAD Einführung (Folge 5)Folge 6Folge 7Folge 8
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Die Kreuzform, die Sie ja bereits in den beiden letzten Folgen unserer CAD-Einführung kennengelernt haben, soll heute um eine Dimension erweitert werden. Wie unschwer zu erkennen ist, hat die Form -zumindest optisch - eine dritte Dimension hinzubekommen. In dieser Folge unserer Serie wollen wir genau diese dreidimensionalen Formen besprechen, aber zunächst gilt es noch zwei verbleibende »Design-Befehle« zu beschreiben.

In der letzten Folge sprachen wir davon, daß der Vergrößerangs- und Verkleine-rungsbefehl »Design-Expand« (dx), der komplizierteste Befehl innerhalb unseres CAD-Systems sei. Der Befehl, selbst ein Untermodul im Gesamtsystem, benötigt seinerseits zusätzliche Untermodule (Zeilen 62000-62540) um seine umfangreichen Funktionen durchführen zu können. Nach einem sorgfältigen Abtippen der Programmliste können Sie dann diese Routinen wie üblich in Ihr eigenes CAD-System — durch »Merge«- einbinden.

Am besten können wir die Wirkung dieses Befehls durch praktisches Erproben beschreiben. Zunächst - wie könnte es anders sein - laden Sie die altbekannte Kreuzform aus Ihrer Formbibliothek (ld:kreuz) oder etwas umständlicher, Sie geben die Koordinaten der Kreuzform nochmals ein (ds:m links 20,10/ 20,20 / 10,20/ 10,30/ 20,30/ 20,40 und dv:5). Positionieren Sie diese Form mit »dm:a«
in der Mitte des Bildschirms. Nun können wir diese Kreuzform einfach mal um 10 »Punkte« vergrößern (dx: 10) und z.B. sofort wieder um 5 »Punkte« verkleinern (dx:-5). Was wir schon in »Folge sechs« über den »Move-Befehl« gesagt haben, gilt auch für den »Expand-Befehl«. Mit »dx:n« wird die alte Form vorher gelöscht und mit »dx:d« bleibt die alte Form erhalten. Das System nimmt diese Befehle wiederum nur zur Kenntnis und behält den Modus solange bei, bis er durch einen neuen »dx:a« oder »dx:d« Befehl geändert wird.

Versuchen Sie die Verkleinerung und Vergrößerung nochmals, nachdem Sie den Modus »d« (dx:d) eingeschaltet haben.

Dieser »Expand-Befehl« kann natürlich wesentlich mehr, sonst wäre er nicht der komplizierteste Befehl im System. Versuchsweise »strecken«Sie mal die Kreuzform nur in der horizontalen Richtung um weitere 10 »Punkte« (dx:h10). Der Zusatz »h« besagt, daß die Vergrößerung nur horizontal Vorgehen soll. Eine horizontale Verkleinerung ist natürlich auch möglich (dx:h-5). Das Gleiche gilt auch, wenn Sie eine Form nur vertikal vergrößern oder verkleinern wollen: (dx:v10) und (dx:v-5).

Aber das ist noch längst nicht alles. Der »Design-Expand«-Befehl kann noch mehr. Wollen Sie die Kreuzform nur rechts vergrößern und links verkleinern, dann schaft das unser »dx-Befehl« mühelos: (dx:r10) und (dx:1-5). Es ist sicherlieh zu erkennen, daß der Zusatz »r« rechts bedeutet und »1« links bedeutet. Er kann entweder vergrößern oder mit einem negativen Vorzeichen nach dem Zusatz »1« oder »r« kann er die Form rechts oder links verkleinern.

Kann der »dx-Befehl« noch mehr? Aber ja, er kann auf Wunsch eine beliebige Form nur nach oben mit dem Zusatz »t« (top) oder nur nach unten mit dem Zusatz »b« (bottom) »expandieren«. Fast jede erdenkliche symetrische oder asymetrische Form kann durch diesen Befehl in allen möglichen Richtungen verkleinert oder vergrößert werden.

Wie Sie feststellen können, ist »Design-Expand« ein mächtiger Befehl, aber wie alle komplizierten Sachen ist er auch störanfällig. Es gibt wahrscheinlich einige Formen, die er nicht richtig interpretiert. Wie schon in der letzten Folge erwähnt, wäre dieser Befehl von einer nicht monotonen oder einer »fallenden« Reihenfolge von »Design-Punkten« (siehe Folge 5) sozusagen »irritiert«. Es kann sein, daß er die Form dadurch zerstückelt. Außerdem mag der »dx«-Befehl keine »großen Sprünge«. Ein Befehl »dx:-50« wird er möglicherweise nicht »sauber« durchführen können. Dagegen führt er zehn kleine Schritte (dx:-5) problemlos aus. All diese kleinen Unzulänglichkeiten beruhen darauf, daß der »De-sign-Expand« Befehl die Punkte »hinter« und »vor« sowie die Punkte »gegenüber« vorher kontrolliert, ehe er einen Punkt bewegt. Wenn die Veränderung der  »hinterliegenden« Punkte schon zu gewaltig (z.B. -50 Punkte) waren, kann sich das System nicht mehr richtig orientieren.

Um den »Expand-Befehl« einwandfrei zu bekommen, wäre ein großer organisatorischer Aufwand notwendig. Zunächst müßte eine komplette Sicherung der internen Design-Tabelle durchgeliührt werden, um den Urzustand der Punkte vor der Veränderung zu erhalten. Diese Speicherplatzerweiterung und die damit verbundene Programmverwaltung der Punkte — im Prinzip also vergleichen »alt« und bewegen »neu« — ist für unsere CAD-Einführung nicht geeignet. Wenn Sie aber genügend Speicherplatz auf Ihrem CPC haben und die Arbeit nicht scheuen, wäre die Lösung dieser Aufgabe ein lohneswertes Projekt. Man kann sich aber auch an die Gegebenheiten des »dx«-Befehls anpassen und in kleinen Schritten vergrößern oder verkleinern. Es wäre auf jeden Fall die »leichtere« Lösung.

Der nächste Befehl, »Design point«-(dp) ist ebenfalls ein interessanter Befehl, wenn auch nicht so mächtig wie der »Design-Expand«. »Dp« verarbeitet nur einen einzigen Punkt in einem CAD-Bild. Ungleich einer Einfügung (di) oder einer Löschung (dd), die auch spezielle Punkte behandelt, bewegt der »Design point«-Befehl nur die Lage eines Punktes auf irgendeine neue, durch den Cursor (ggf. Joystick oder Maus) bestimmte Position. Als Bespiel nehmen wir nochmals unsere berühmte Kreuzform zur Hand. Wie üblich kann man bei den »Design-Befehlen« zwischen einer manuellen (dp:m) oder automatischen (dp:a) Verarbeitung wählen. Und wie üblich erscheint sofort die typisch untypische Meldung (im automatischen Modus) »Cursor + e;l;r«. Man wird also aufgefordert, durch den Cursor einen beliebigen linken oder rechten Punkt zu bestimmen und ihn dann mit »1« oder »r« (und wie immer mit »enter« bzw. »run«) zu kennzeichnen. Nun erfolgt erneut eine typische Systemmeldung »Cursor e/l/r/n«. Mit dem Cursor wird man jetzt aufgefordert, die neue linke (1) oder rechte (r) Koordinate des soeben gekennzeichneten Punktes zu bestimmen. Diese Verarbeitung kann man beliebig fortsetzen, aber man bewegt immer den gleichen, ursprünglich gekennzeichneten Punkt. Will man einen neuen Ursprungspunkt bestimmen, gibt man den Unterbefehl »n« ein und es erscheint wieder die erste Meldung, die einen auffordert, einen neuen Ursprungspunkt zu bestimmen. Das ganze »Spiel« beginnt dann wieder von vorne, bis Sie es mit »e« beenden. Sinngemäß verläuft auch die »manuelle« Punktverarbeitung. Sie ist allerdings wesentlich genauer und verlangt konkrete »x,y-Koordinaten«. Bei der automatischen Verarbeitung reicht es, wenn man mit dem Cursor »nahe« genug an den gewünschten Punkt rankommt. Bei der manuellen Eingabe verlangt das System die genaue Position, sonst meldet es »pt. not found« (Punkt nicht gefunden). Es empfiehlt sich also, vorher die Punkte durch den »Ds:p-Befehl« anzusehen - über den Drucker und nicht über den Bildschirm. Selbstverständlich kann es auch bei der automatischen Verarbeitung Vorkommen, daß Sie mit dem Cursor einen Punkt nicht finden, oder die Koordinaten liegen so nahe beieinander, daß Sie diesen Punkt gar nicht automatisch bestimmen können. Dafür gibt es aber immer die manuelle Verarbeitung für alle wichtigen Befehle in unserem System.

So — der »Design point« war der letzte Formbefehl innerhalb unseres Designteilbereichs. Es bleibt auch nur noch ein Befehl, der zu besprechen wäre, dann ist der Befehlsvorrat in unserem CAD-System komplett.

Der letzte Befehl heißt »3d« — dreidimensional, und mit gutem Grund ist er der »letzte« Befehl. Wie »Pen size« — »pz«, setzt der »3d-Befehl« nur einen Schalter an (3d:i) oder aus (3d:o) - sonst nichts; Andere Befehle sollen nur dadurch erkennen, daß eine drei- dimensionale Verarbeitung gewünscht wird. Z.Zt erkennt nur der »Lines connect-Befehl«-(lc) und der »Clear lines-Befehl«- (cl) diesen Schalter an. Darum sind diese drei Befehle auch in einem Block zusammengefaßt, und zwar in dem Block, in dem Formen nur optisch dargestellt werden, aber nicht in den entscheidenden »x,y-Tabellen« verändert werden können. Wir haben es hier also mit einer optisch dreidimensionalen Form, aber nicht einer wirklichen »3d CAD-Verarbei-tung« zu tun.

Verarbeiten wir nun unsere beliebte Kreuzform unter diesem optischen Aspekt

Schalten Sie zunächst die »3d-«Form ein (3d:i). Bewegen Sie die Form — in »D — Modus« (dm:d) — dann mit »Design-Move« (dm:a) fünf Punkte nach rechts und fünf nach oben. Geben Sie »m« und »enter« ein. Den »Endebefehl« (e) dürfen Sie danach natürlich nicht vergessen. Ebenfalls im »D-Modus« (dx:d) vergrößern Sie nun die Form um zehn Punkte (dx:10) und bewegen das Ganze nochmals zehn Punkte nach rechts und zehn nach oben. Sie müßten dann eine Form erhalten, die unserem Titelbild entspricht. Es sieht optisch eindrucksvoll aus, aber leider nur optisch. Die Gesamtform kann nicht verändert werden. Sie kann weder vergrößert noch verkleinert werden.

Nur sehr aufwändige — sprich teure — professionelle CAD-Systeme können dreidimesionale Formen verarbeiten. Woran liegt das? Nun, theoretisch müßte man neben der Frontseite auch die Rückseite in Tabellen festhalten und diese simultan bewegen. Aber es wird noch komplizierter. Eine Form hat nähmlich nicht nur eine Front und Rückseite, sondern wie unsere Kreuzform auch zwei »Mittelstücke«, die in Tabellen festgehalten werden müßten. Da es sehr viele solcher »Mittelstücke« geben kann, wird eine derartige Tabellenverarbeitung irgendwann nicht mehr durchführbar, allein schon aus Speicherplatzgründen, geschweige denn von der Programmseite her.

Professionelle CAD-Systemprogrammierer gehen daher auch ganz anders vor und wie nicht anders zu erwarten, gehen sie rein mathematisch vor. Die Koordinaten eines Punktes werden in einer sog. Matrix, eine Art mathematischer Tabelle, festgehalten. Unsere Design-Matrix für nur drei Punkte würde dann so auz-sehen:

a11 a12 a13
D = [a21 a22 a23]
a31 a32 a33

Oder man könnte einem Punkt einen bestimmten Vektor (eine einspaltige Matrix) zuordnen. Das sieht dann etwa so aus:

b:=(b1 , b2 .... , bn) ' ∈Kn

Diese Vektoren würden dann in »linearen Räumen« mathematisch verarbeitet. Für CAD-Systeme bei der NASA oder im militärischen Bereich werden dagegen differential geometrische Systeme benutzt. Diese zerlegen dreidimensionale Formen in Punkte eines Vektorfeldes

und verwenden dann Sensoren, um die Form im Raum zu bewegen:

ξ i ; k -  ξ i ; k ; j = R i hjk ξ h

Das reicht Ihnen sicherlich schon, denn diese Formeln sollen Sie keineswegs irritieren. Sie sollen nur verdeutlichen, daß die dreidimensionale Verarbeitung einer Form im Raum ein komplizierter mathematischer Vorgang ist, der nicht im Rahmen dieser Serie zu bewältigen wäre. Falls Sie dennoch wirklich eine programmtechnische Herausforderung suchen, und in der höheren Mathematik bewandert sind, dann könnte diese mathematische Seite der CAD für Sie bestimmt interessant sein. Für den Anfang ist aber die zweidimensionale Verarbeitung viel sinnvoller. Man hat hier die Möglichkeit, die Programmlogik noch relativ leicht zu verstehen und selbst ins Programm einzugreifen. Man kann das Programm noch selber ergänzen oder ändern, was in komplizierteren Systemen nicht mehr ohne weiteres möglich ist. Und wenn Sie eine räumliche Gestaltung der Form erreichen wollen, können Sie immer noch unseren Befehl »3d« benutzen. Optisch ist er auf jeden Fall sehr wirkungsvoll.

Sobald Sie diesen letzten Befehl in Ihr Programm eingebaut haben, ist unser CAD Befehlsvorrat komplett. Mit ein wenig Übung können Sie dann schon sehr professionelle Zeichnungen gestalten, und hoffentlich werden Sie dabei etwas Spaß haben. Es bleibt uns jetzt nur noch das Thema »Multiforms« übrig, das wir in unserer nächsten und gleichzeitig letzten Folge dieser Serie behandeln werden.

CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1987
★ CONFIG: ???
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1987
★ AUTHOR: Rainer Kontny

Cliquez sur l'image pour voir les différents packages (8). 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Computer-Aided-Designer    (CPC  Amstrad  International)    GERMANDATE: 2022-08-03
DL: 271
TYPE: ZIP
SiZE: 20Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Screen Wiz (Popular Computing Weekly)
» Applications » TUSS : The Ultimate Sprite Searcher
» Applications » Capteur de sprite
» Applications » IFF-Convert v1.x
» Applications » RSX Bigletter (Schneider Aktiv)
» Applications » Graf (Moj Micro)
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 192 millisecondes et consultée 2836 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.