FastFiber

tekststijl

Gestart door aiky, wo 30 08 2006, 10:53:49

Vorige topic - Volgende topic

aiky

Hallo,

IK ben bezig mijn lay-out aan het automatiseren. Alles lukt goed, maar ik weet niet hoe je een tekststijl aanmaakt.
Kan er hier mij iemand bij helpen?
Dit zijn de volgende gegevens:

style name: hout vast
font name: tahoma
font style: standaard
height: 4.0000
width factor: 0.5000

Alles heeft een normale positionering maar bv schaal moet justify center zijn en dit weet ik ook niet hetzelfde met opleiding hout moet justify right zijn.

Hopelijk kan er mij iemand helpen.

gtz:AIKY

aiky

Waarom word dit verplaatst?
van VBA naar AutoCad Probleem
:shock:

Ik ben wel bezig dit in vba te maken.
Ik wil via vba een tekstijl aanmaken en weet nie hoe het moet.

julien

Dan zetten we het gewoon even terug.  :wink:

Joop

Als je een txt style wilt aanmaken dan doe je dat met een plain text editor. :mrgreen:
Je kunt als eerste het beste de bestaande .shp files bekijken in b.v. kladblok.
gdt.shp in AutoCAD/Support/ is een goed voorbeeld.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

aiky

Citaat van: Joop op wo 30 08 2006, 12:00:00
Als je een txt style wilt aanmaken dan doe je dat met een plain text editor. :mrgreen:
Je kunt als eerste het beste de bestaande .shp files bekijken in b.v. kladblok.
gdt.shp in AutoCAD/Support/ is een goed voorbeeld.


Daar begrijp ik niks van!!!!!!
kan de link nie leggen tussen een shp en vba

Joop

aiky schrijft:
Citeerkan de link nie leggen tussen een shp en vba
Ik ook niet.
Daarom hoort naar mijn mening dit item ook niet in VBA thuis!

Alle text styles staan in een .shp file.
Als je dus een nieuwe textstyle wilt aan maken dan moet je dus een nieuwe shp file aanmaken waarin je alle letters cq symbolen definieerd.
Dit bestand sla je dan ongeformateerd op.
Daarna kun je het bestand compileren naar shx bestand.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

aiky

dus in vba is het niet mogelijk een tekststijl aan te maken

Joop

Alles is mogelijk, maar is het verstandig om te doen?
Als je in VBA of LISP een textstyle wilt aanmaken dan doe je het zelfde, en meer, dan dat je een shp file aanmaakt.
Mijn inschatting is dat je veeeeeel langer bezig bent met programmeren.
Bovendien om dit programma te kunnen schrijven moet je toch eerst uitzoeken en uitproberen hoe zo'n shape nu eigenlijk werkt.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Joop

Even aanvullen:

Ga naar http://www.cadsite.be/lisp/lisp.shtml en download "Programmeren in AutCAD".
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

bart

Joop ik denk dat julie elkaar niet goed begrijpen

Volgen mij wil alky een style binnen een tekening aanmaken met het font tahoma
en niet een aangepast font

Van vba heb ik verders te weinig verstand om de vraag te beantwoorden
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

Joop

Je zou best eens gelijk kunnen hebben ( ik heb de oorspronkeleke vraag nog eens opnieuw gelezen). :mrgreen:

Maar zelfs dan is dit eenmalig.
Een nieuw aangemaakte textstyle gebruik je gewoon vaker en in meerdere tekeningen (via bv template file).

Wil je dit perse in een programma doen en in elke tekening de style opnieuw aanmaken, dan moet je op de commandline -style intypen en goed kijken (en opschrijven) wat de prompts zijn.
Deze verwerk je dan in een programma.
In dit geval voor LISP:
(command "-style" "houtvast" "tahoma" "4" "0.5" "0" "N" "N")
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

HofCAD

Citaat van: aiky op wo 30 08 2006, 12:49:43
dus in vba is het niet mogelijk een tekststijl aan te maken

Beste Aiky,

In de AutoCAD help staat toch:

'Using Programming Languages other than VBA

Sub Example_ActiveTextStyle()
    ' This example returns the current text style
    ' and then sets a new style.
    ' Finally, it returns the style to the previous setting.
    Dim newTextStyle As AcadTextStyle
    Dim currTextStyle As AcadTextStyle
   
    ' Return current text style of active document
    Set currTextStyle = ThisDrawing.ActiveTextStyle
    MsgBox "The current text style is " & currTextStyle.name, vbInformation, "ActiveTextStyle Example"
   
    ' Create a text style and make it current
    Set newTextStyle = ThisDrawing.TextStyles.Add("TestTextStyle")
    ThisDrawing.ActiveTextStyle = newTextStyle
    MsgBox "The new text style is " & newTextStyle.name, vbInformation, "ActiveTextStyle Example"
   
    ' Reset the text style to its previous setting
    ThisDrawing.ActiveTextStyle = currTextStyle
    MsgBox "The text style is reset to " & currTextStyle.name, vbInformation, "ActiveTextStyle Example"
End Sub


Met vriendelijke groet,
HofCAD CSI
ACADcadabra

Steven

#12
Toch niet toevallig student graduaat Hout aan de Hogeschool Gent?
Wat probeer je juist te doen? De layout automatiseren met VBA of ... ?
Waarom niet gewoon een template aanmaken, hiervan een block met attributes maken zodat, telkens je deze template invoegt, je de waarden kan ingeven?
Als je dit wenst te doen met VBA wil ik je gerust helpen maar dan heb ik wel meer gegevens nodig. Welk formaat moet deze template hebben (A4,A3,A2,A1), hoe is deze dan geplaatst (horizontaal of verticaal)?

Tekstijl aanmaken:
Sub Tekststijl()

Dim Tekststijl As AcadTextStyle
Dim Fontname As String
Dim charSet As Long
Dim PitchandFamily As Long

Fontname = "Tahoma"
charSet = 0
PitchandFamily = 34

Set Tekststijl = ThisDrawing.TextStyles.Add("hout vast")

    Tekststijl.SetFont Fontname, False, False, charSet, PitchandFamily
    Tekststijl.Width = 0.5
    Tekststijl.Height = 4

End Sub


Groeten,

Steven

aiky

CiteerToch niet toevallig student graduaat Hout aan de Hogeschool Gent?

Ja, ik ben student graduaat Hout

Bedankt voor de code deze werkt uitstekend.
Maar ik weet niet wat "PitchandFamily" betekent en de waarde die je er aan heeft is ook onbekend voor mij.
Hetzelfde met "charSet"

Ik ben bezig met het automatiseren van een A4 verticaal en deze is bijna af maar ik blijf struikelen over één onderwerp.
Deze is als volgt: "Opleiding Hout" moet justify right zijn en dit lukt nog steeds niet.
De code die ik gebruik:

    punt(1) = 133
    punt(2) = 13
    punt(3) = 0
    Set tekst7 = ThisDrawing.ModelSpace.AddText("Opleiding Hout", punt, 4)
    tekst7.Alignment = acAlignmentRight
    tekst7.Update

   

Hopelijk vind hier iemand een oplossing voor want ik heb er mij al suf op gezocht. :?

@ Steven heb je een pm anders stuur ik u mijn code eens door.
Heb jij ook voor graduaat hout gestudeerd.







Kenny H

Aiky,

Die code voor uw uitlijning rechts klopt wel enkel het coordinaat moet je opnieuw ingeven.

punt(1) = 133
punt(2) = 13
punt(3) = 0
Set tekst7 = ThisDrawing.ModelSpace.AddText("Opleiding Hout", punt, 4)
tekst7.Alignment = acAlignmentRight
tekst7.Update
tekst7.TextAlignmentPoint = punt

Mvg

Kenny
8) Volvo 4 Life 8)

FastFiber