FastFiber

Aanmaken van Lijntypes: zonder tekst, met tekst en met shape

Gestart door Kenny H, ma 01 08 2005, 19:09:36

Vorige topic - Volgende topic

Kenny H

Lijntype zonder tekst

Hoe aanmaken?

Je opent een nieuw kladblok bestand. Je slaat dit op als een .lin bestand
Bestaande lijntypes zijn te vinden bij Program Files/AutoCAD200?/support/acadiso.lin of acad.lin

1.   
*
Altijd een * intikken, het * bepaald wanneer het nieuwe linetype begint.

2.   
Naam,
Direct na het *de naamzonderspties intikken van het nieuwe lijnetype, gevolgd door een comma.

3.   
Beschrijving + spatie
Direct na de naam, een kleine beschrijving van het nieuwe lijntype intikken, gevolgd door een spatie.

4.   
Visualisatie van het nieuwe lijntype + enter
Direct na het *naam,beschrijving het nieuwe lijntype visualiseren door een reeks van underscores, punten, spatie.

Opmerking:
De visualisatie mag niet bedragen dan 47 karakters. De visualisatie is enkel een voorbeeld van uw lijntype. Het is dus niet maatgebonden.

5.   
A,
Altijd een A, intikken vóór de definiëring van het nieuwe lijntype. De A staat voor de uitlijning van de werkelijke definitie.

6.   
Werkelijke definiëring van het Lijntype + enter
Direct na de A, een reeks van getallen, waarbij ieder getal door een comma wordt gevolgd Behalve het laatste getal, intikken die de beweging van de plotterpen simuleert

Definitiewaarde     //Penbeweging   //  Resulterend lijnstuk
Positief getal,     //    Pen omlaag     //  Lijnlengte streepje
Negatief getal,    //   Pen omhoog     //   Spatie
0,                   //      stip               //      Punt in de lijn

Opmerkingen:
   Nergens spaties in de beschrijving en de definitie, wel in de visualisatie;
   Om commentaar te geven maakt men gebruik van  ;;
   Elk getal wordt gevolgd door een comma, behalve het laatste getal op het einde van de lijn;
   De afmetingen zijn in mm.,cijfers na de comma worden geschreven als .
(vb.: één en een halve mm = 1.5);
   De eerste definiëring van een nieuw lijntype moet een nul, of een positief getal, zijn, m.a.w. een punt of een streepje, en mag nooit een negatief getal, zijn, m.a.w. een spatie.

Voorbeeld van een lijntype:

;; aanpassing-oefening acadkhbs.lin op 20/2/2004 uitgevoerd door kenny,
*lijnkhbs2, oefening2 ------  ---  ------  ---
A,190,-10,90,-10
8) Volvo 4 Life 8)

Kenny H

Lijntype met tekst

Hoe aanmaken?

Je opend een nieuw kladblok bestand. Je slaat dit op als een .lin bestand
Bestaande lijntypes zijn te vinden bij AutoCAD200?/support/acadiso.lin of acad.lin

1.   
*
Altijd een * intikken, het * bepaald wanneer het nieuwe linetype begint.

2.   
Naam,
Direct na het *de naamzonderspties intikken van het nieuwe lijnetype, gevolgd door een comma.

3.   
Beschrijving + spatie
Direct na de naam, een kleine beschrijving van het nieuwe lijntype intikken, gevolgd door een spatie.

4.   
Visualisatie van het nieuwe lijntype + enter
Direct na het *naam,beschrijving het nieuwe lijntype visualiseren door een reeks van underscores, punten, spatie.

Opmerking:
De visualisatie mag niet bedragen dan 47 karakters. De visualisatie is enkel een voorbeeld van uw lijntype. Het is dus niet maatgebonden.

5.   
A,
Altijd een A, intikken vóór de definiëring van het nieuwe lijntype. De A staat voor de uitlijning van de werkelijke definitie.

6.   
Werkelijke definiëring van het Lijntype + enter
Direct na de A, een reeks van getallen, waarbij ieder getal door een comma wordt gevolgd Behalve het laatste getal, intikken die de beweging van de plotterpen simuleert

Definitiewaarde   //Penbeweging   //Resulterend lijnstuk
Positief getal,   //Pen omlaag   //Lijnlengte streepje
Negatief getal,//   Pen omhoog   //Spatie
0,   //stip//   Punt in de lijn

7.   
Tussen de getallen de definitie van de tekst
   [
   â€œTekst”

      De tekst die je wil tussen die lijnstukken tussen “” en gevolgd door een comma
Tekststijl
   De naam van de tekststijl en gevolgd door een comma
S=waarde
S is de schaal van de tekst en de waarde is de schaalgrootte in cijfers gevolgd door een comma
   R=waarde of A=waarde
Ofwel de R als de relatieve rotatiehoek van de tekst t.o.v. de lijnstukjes, ofwel de A als de absolute rotatiehoek en de waarde is het aantal graden gevolgd door een comma
   X=waarde
X is de relatieve verplaatsing van de tekst en de waarde is de verplaatsingsgrootte in x-richting gevolgd door een comma
   Y=waarde
   Y is de relatieve verplaatsing van de tekst en de waarde is de verplaatsingsgrootte in y-richting, NIET gevolgd door een comma
],

Opmerking:
De relatieve x-verplaatsing wordt meestal 0 gehouden, de y-verplaatsing krijgt meestal een andere waarde mee dan 0, om de tekst iets naar beneden te verplaatsen zodat het midden van de teksthoogte gelijk komt met de lijnstukken.


Opmerkingen:
   Nergens spaties in de beschrijving en de definitie, wel in de visualisatie;
   Om commentaar te geven maakt men gebruik van  ;;
   Elk getal wordt gevolgd door een comma, behalve het laatste getal op het einde van de lijn;
   De afmetingen zijn in mm.,cijfers na de comma worden geschreven als .
(vb.: één en een halve mm = 1.5);
   De eerste definiëring van een nieuw lijntype moet een nul, of een positief getal, zijn, m.a.w. een punt of een streepje, en mag nooit een negatief getal, zijn, m.a.w. een spatie.

Voorbeeld van een lijntype:

;; vierde aanpassing acadkhbs.lin op 2/02/2004 uitgevoerd door kenny
*lijntekstkhbs, voorbeeldtekstlijn ------  acadkhbs ------
A,50,-15,["acadkhbs",standard,S=2,R=0,X=0,Y=-.5],-32
8) Volvo 4 Life 8)

Kenny H

Het aanmaken van een lijntype met een shape, dus figuurtjes, volgt asap  :wink:
Samen met het aanmaken van een arceerpatroon  :idea:
8) Volvo 4 Life 8)

julien

Ik kan nu niets uittesten, maar 't ziet er wel dik in orde uit!
Wanneer ik terug uit verlof ben ga ik eens een mooie tutorial maken hierrond. Ik heb al een mooi begin!  :wink:

Kenny H

Lijntype met shape

Hoe aanmaken?

Je maakt eerst een shape aan (.shp). Dit bestand zet je daarna om naar een .shx, wat machinetaal is voor AutoCAD. Beide bestanden dragen dus dezelfde naam. Dan maak je verder een lijntype aan waarin je het shape verwerkt.

1.   Aanmaken Shape

Je opent een nieuw kladblok bestand. Je slaat dit op als een .shp bestand

A.   Eerste lijn

1.   
*
Altijd een * intikken ,het * bepaald wanneer het nieuwe complex lijntype met een shape begint.

2.   
Waarde,
Direct na het * een willekeurige ASCII - waarde van een letter uit het alfabet intikken, gevolgd door een comma.

Voorbeeld:
97 staat voor de a (alt-97)
…
122 staat voor de z (alt-122)
De ASCII â€" waarde is uniek in het bestand.shp, het mag dus maar éénmaal voorkomen in het bestand.

3.   
Dataposities,
Direct na de comma het aantal datapositie van de tweede lijn intikken gevolgd door een comma.

Voorbeeld:
7 op de tweede lijn staan er 7 groepjes van getallen/letters tussen comma’s, behalve na het laatste groepje geen comma meer. Het laatste groepje is altijd een afsluitcode 0 + enter.
15 op de tweede lijn staan er 15 groepjes van getallen/letters tussen comma’s, behalve na het laatste groepje geen comma meer. Het laatste groepje is altijd een afsluitcode 0 + enter.

4.   
NAAM VAN HET LIJNTYPE MET SHAPE + enter
   Direct na de comma de naam van het lijntype met shape
   Geen comma meer op het einde.
   DE NAAM MOET IN HOOFDLETTERS.

B.   Tweede lijn

Een shape teken je met een vectorcodering. Elke code bevat géén spatie en wordt gevolgd door een comma.
Na de laatste code wordt de tweede lijn altijd afgesloten met een afsluitcode 0 + enter.

Vectorcode’s:

•   Eerste deel: altijd een 0.
•   Tweede deel: lengte van de vector
De lengte van de vector is gelijk aan het aantal rasterlijntjes van 1 mm naar omhoog, omlaag, linkse of rechtse richting.
M.a.w. snap en grid op 1mm instellen en sterk zoomen, anders krijg je op de commandoregel “Grid too denset o display!”
Deze lengte is de y-waarde als een lijn meer dan 45° omhoog of omlaag gaat.
Deze lengte is de x-waarde als een lijn minder dan 45° omhoog of omlaag gaat.
•   Derde deel: de richting van de vector
Voor de richting van de vector maak je gebruik van onderstaande codering: De getallen zijn hexadecimaal: 0123456789ABCDEF.



02468ACE = verspringen 45°,
Voor Vector 2: Op het grid vanuit het center dus één naar rechts en één omhoog

Voor Vector 1: verspringen op het grid vanuit het center twee naar rechts en één omhoog.
Voor Vector 3: verspringen vanuit het center één naar rechts en twéé omhoog.
:idea: (Indien onduidelijk zal ik u dit voorbeeld van de vectorzinnen (.dwg) doormailen.) :idea:

Voorbeeld:
Vectorcode 060, betekend:
o   Eerste deel: altijd een 0.
o   Tweede deel: 6 lengte lijntje is 6mm
o   Derde deel: 0, horizontaal rechts
Vectorcode 054, betekend:
o   Eerste deel: altijd een 0.
o   Tweede deel: 5 lengte lijntje is 5mm
o   Derde deel: 4, verticaal omhoog

Vectorcode 001, betekend PEN OMLAAG
Vectorcode 002, betekend PEN OMHOOG

Voorbeeld van een shape
De figuur die we willen bekomen is de driehoek  :!:
:!: :!:  Het vierkantje duid het eindpunt aan van de lijn of spatie die we schrijven in het .lin bestand. Het cirketje is het beginpunt van de spatie of lijnstuk dat de driehoek gaat volgen. :!:  :!:



;; shape definitie voor het linetype LIJNSHAPEkhbs
;; op 20/02/2004 uitgevoerd door kenny
;;
*122,9,LIJNSHAPEKHBS
002,02C,001,040,045,04B,002,041,0


Verduidelijking vectorcode’s:


We starten bij het vierkant en stoppen bij cirkel !!

Citeer002, pen omhoog
02C, 2mm verticaal naar beneden
001, pen omlaag
040, 4mm horizontaal rechts
045, schuin omhoog, y waarde 4mm (hoek >45°)
04B, schuin omlaag, y waarde 4mm (hoek >45°)
002, pen omhoog
041, schuin omhoog, x waarde (hoek <45°)
0 + enter altijd afsluitende code 0 +enter

Je bewaart dit bestand onder bv c:\Mijn documenten\dwg\shp\

Met als naam idem als DE BESTANDSNAAM VAN UW BESTAND.LIN WAARIN DE NIEUWE LIJNTYPE DEFINITIES STAAN.

Nu het .shp bestand geschreven is moeten we dit nog omzetten naar een .shx bestand zodat AutoCAD dit kan gebruiken.

Hoe omzetten?

In AutoCAD typ je op de commandoregel: compile + enter
Je zoekt achter uw net aangemaakt bestand en klikt op open.
Via het tekstscherm lees je dan, indien er geen fouten in het shp-bestand zitten:

Compiling shape/front description file
Compilation succesful. Output file
c:\Mijn documenten\dwg\shp\---------.shx contains --- bytes.



2.   Aanmaken lijntype met shape

Hoe aanmaken?

Je opend een nieuw kladblok bestand. Je slaat dit op als een .lin bestand
Bestaande lijntypes zijn te vinden bij AutoCAD200?/support/acadiso.lin of acad.lin

1.   
*
Altijd een * intikken, het * bepaald wanneer het nieuwe linetype begint.

2.   
Naam,
Direct na het *de naamzonderspaties intikken van het nieuwe lijntype, gevolgd door een comma.

3.   
Beschrijving + spatie
Direct na de naam, een kleine beschrijving van het nieuwe lijntype intikken, gevolgd door een spatie.

4.   
Visualisatie van het nieuwe lijntype + enter
Direct na het *naam,beschrijving het nieuwe lijntype visualiseren door een reeks van underscores, punten, spatie.

Opmerking:
De visualisatie mag niet bedragen dan 47 karakters. De visualisatie is enkel een voorbeeld van uw lijntype. Het is dus niet maatgebonden.

5.   
A,
Altijd een A, intikken vóór de definiëring van het nieuwe lijntype. De A staat voor de uitlijning van de werkelijke definitie.

6.   
Werkelijke definiëring van het Lijntype + enter
Direct na de A, een reeks van getallen, waarbij ieder getal door een comma wordt gevolgd Behalve het laatste getal, intikken die de beweging van de plotterpen simuleert

Definitiewaarde   Penbeweging   Resulterend lijnstuk
Positief getal,   Pen omlaag   Lijnlengte streepje
Negatief getal,   Pen omhoog   Spatie
0,   stip   Punt in de lijn


7.   
Tussen de getallen de definitie van de shape
   [
   NAAM VAN HET LIJNTYPE MET SHAPE

De NAAM IN HOOFDLETTES van het lijntype met shape in het shp-bestand gevolgd door een comma
Bestandnaam.shx
De bestandsnaam van het shx-bestand met extentie erbij en gevolgd door een comma
S=waarde
S is de schaal van de tekst en de waarde is de schaalgrootte in cijfers gevolgd door een comma
   R=waarde of A=waarde
Ofwel de R als de relatieve rotatiehoek van de tekst t.o.v. de lijnstukjes, ofwel de A als de absolute rotatiehoek en de waarde is het aantal graden gevolgd door een comma
   X=waarde
X is de relatieve verplaatsing van de tekst en de waarde is de verplaatsingsgrootte in x-richting gevolgd door een comma
   Y=waarde
   Y is de relatieve verplaatsing van de tekst en de waarde is de verplaatsingsgrootte in y-richting, NIET gevolgd door een comma
],

Opmerking:
De relatieve x-verplaatsing wordt meestal 0 gehouden, de y-verplaatsing krijgt meestal een andere waarde mee dan 0, om de tekst iets naar beneden te verplaatsen zodat het midden van de teksthoogte gelijk komt met de lijnstukken.


Opmerkingen:
   Nergens spaties in de beschrijving en de definitie, wel in de visualisatie;
   Om commentaar te geven maakt men gebruik van  ;;
   Elk getal wordt gevolgd door een comma, behalve het laatste getal op het einde van de lijn;
   De afmetingen zijn in mm.,cijfers na de comma worden geschreven als .
(vb.: één en een halve mm = 1.5);
   De eerste definiëring van een nieuw lijntype moet een nul, of een positief getal, zijn, m.a.w. een punt of een streepje, en mag nooit een negatief getal, zijn, m.a.w. een spatie.

Voorbeeld van een lijntype:

;;
;; BEGIN VAN LINETYPES DEFINITIES MET SHAPE
;;
;; zevende aanpassing acadkhbs.lin op 20/20/2004 uitgevoerd door kenny
*LIJNSHAPEKHBS,voorbeeldshapelijn met driehoekjes
A,20,-5,[LIJNSHAPEKHBS,acadkhbs.shx,S=1,R=0,X=0,Y=0],-9
8) Volvo 4 Life 8)

Kenny H

Citaat van: julienIk kan nu niets uittesten, maar 't ziet er wel dik in orde uit!
Wanneer ik terug uit verlof ben ga ik eens een mooie tutorial maken hierrond. Ik heb al een mooi begin!  :wink:

Dag Julien,

Als jij het wil kan ik u ook meteen een .doc bestand doorsturen waar alles instaat over de lijntypes en arceerpatronen.

Prettig verlof verder.
8) Volvo 4 Life 8)

Kenny H

Indien er problemen zijn met het aanmaken van lijntypes ben ik bereid om u te helpen :!:

:idea: Indien iemand anders ook een .doc (word) bestand van dit alles wil kan/mag me mailen op:
kenny.habils@skynet.be

Graag gedaan  :wink:
8) Volvo 4 Life 8)

WebRacer

:ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  

Een dikke proficiat en een grote dank u aan Kenny Habils!!!
Vele gebruikers zullen u hiervoor dankbaar zijn,
dit verdient naar mijn bescheiden mening een ereplaatsje...


:ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:  :ole:

:vreegoe: Kenny Keep It Running
?

Kenny H

:oops:  :oops:  :oops:  :oops:  :oops:  :oops:  :oops:  :oops:  :oops:

Merci webracer

Ik zal proberen zo verder te werken  :wink:
8) Volvo 4 Life 8)

Kenny H

Nog een Opmerking bij aanmaken van lijntypes

:!:  :!: AutoCAD 200? Heeft de nieuwe bestanden nodig om de tekening terug op op te starten, d.w.z.dat de tekening opstarten op een andere pc, waar de nieuwe bestanden niet op voorkomen, voor problemen kan zorgen. De tekening kan je wel opstarten, doch alleen in een read only formaat. :!:  :!:
8) Volvo 4 Life 8)

Kenny H

Beste gebruikers,

Julien heeft een aanparte plaats gecreëert voor de bestaande lijntypes.
Waarvoor dank :!:  :ole:

Voor de bestaande lijntypes kun je ook gaan kijken bij:

http://www.cadsite.be/forum/viewtopic.php?t=751

Hier kun je dan ook uw aangemaakte lijntypes in plaatsen.  :wink:
8) Volvo 4 Life 8)

pietkonijn

 :shock: :shock: :shock: :shock:

Net zoals bij dat van arceerpatronen.

Dit verdient dan echt wel een
DIKKE  DIKKE  DIKKE  DIKKE
PROFICIAT

Reimer

Ik heb met bovenstaande uitleg heb ik wat linetypes met shapes kunnen toegvoegen aan mijn bibliotheek. Hartelijke dank!!
Nu wil ik nog graag een shape maken met een gebogen lijn. Welke (vector-)codes moet ik gebruiken om dit voor elkaar te krijgen? Ik heb ze ooit in de help gevonden maar kan ze helaas met geen mogelijkheid weer terug vinden :nigoe: :?:.

Groeten,
Reimer

Kenny H

#13
Bedankt,

Ik ben blij dat ik u al heb kunnen helpen.
Om u een antwoord te geven op uw vraag.
Je zult moeten spelen met die codes die hierboven staan om een gebogen lijn na te bootsen.
Ik zal een kijken in de help of ik daar niets vind.  8)
8) Volvo 4 Life 8)

Kenny H

Eens in de help gekeken,

CiteerCode Description 
000 End of shape definition
001 Activate Draw mode (pen down) 
002 Deactivate Draw mode (pen up)
003 Divide vector lengths by next byte 
004 Multiply vector lengths by next byte
005 Push current location onto stack 
006 Pop current location from stack
007 Draw subshape number given by next byte
008 X-Y displacement given by next two bytes
009 Multiple X-Y displacements, terminated (0,0) 
00A Octant arc defined by next two bytes
00B Fractional arc defined by next five bytes 
00C Arc defined by X-Y displacement and bulge
00D Multiple bulge-specified arcs
00E Process next command only if vertical text 

Volgens wat hier staat zou het moeten lukken met 00C

CiteerCodes 00C and 00D: Bulge-Specified Arcs
Special codes 00C and 00D (12 and 13) provide another mechanism for including arc segments in shape descriptions. They are similar to codes 8 and 9 in that you can use them to specify X-Y displacements. However, codes 00C and 00D let you draw arcs by applying a bulge factor to the displacement vector. Code 00C draws one arc segment, while code 00D draws multiple arc segments (polyarcs) until it is terminated by a (0,0) displacement.

Code 00C must be followed by three bytes describing the arc:

0C,X-displacement,Y-displacement,Bulge
Both the X and Y displacement and the bulge, which specifies the curvature of the arc, can range from -127 to +127. If the line segment specified by the displacement has length D, and the perpendicular distance from the midpoint of that segment has height H, the magnitude of the bulge is ((2 * H / D) * 127). The sign is negative if the arc from the current location to the new location is clockwise.



A semicircle has bulge 127 (or -127) and is the greatest arc that can be represented as a single-arc segment using these codes (use two consecutive arc segments for larger arcs). A bulge specification of 0 is valid and represents a straight-line segment. Note, however, that using code 8 for a straight-line segment saves a byte in the shape description.

The polyarc code (00D, or 13) is followed by 0 or by more arc segment triples, and is terminated by a (0,0) displacement. Note that no bulge is specified after the final displacement. For example, the letter S might be defined by the following sequence:

13,(0,5,127),(0,5,-127),(0,0)
Zero bulge segments are useful within polyarcs to represent straight segments; they are more efficient than terminating the polyarc, inserting one straight segment, and then starting another polyarc.

The number -128 cannot be used in arc segment and polyarc definitions.

Bij de help; zoeken achter Special Codes
Ik heb er nog niet mee gewerkt.
Als het je lukt wil je me dit dan eens doorspelen :?:

MVG

Kenny
8) Volvo 4 Life 8)

FastFiber