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
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.
Dan zetten we het gewoon even terug. :wink:
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.
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
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.
dus in vba is het niet mogelijk een tekststijl aan te maken
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.
Even aanvullen:
Ga naar http://www.cadsite.be/lisp/lisp.shtml en download "Programmeren in AutCAD".
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
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")
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
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
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.
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
Aiky,
Wil je me die code ook eens doorsturen?
Zo leer ik ook nog wat bij. :wink:
Sorry dat ik nu pas reageer, ben dat echt grat vergeten. :oops:
Citaat van: Kenny H op di 05 09 2006, 18:51:33
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
Kenny,
Als ik deze code gebruik dan plaatst hij zijn tekst rechts van het punt 0,0,0
Er moet nog altijd iets zijn dat niet klopt.
Tuurlijk stuur ik uw mijn code door als deze afgewerkt is.
mvg
Aiky
Aiky,
Hier plaatst hij de tekst wel op de juiste plaats.
Welke versie gebruik jij? 2006 bij mij is geen probleem.
Stuur me ander eens wat je al hebt.
Kan ik mss vinden wat er fout is. :wink:
Citeer
@ Steven heb je een pm anders stuur ik u mijn code eens door.
Heb jij ook voor graduaat hout gestudeerd.
Inderdaad, ik heb ook graduaat Hout gestudeerd. Ben vorig jaar afgestudeerd.
Heb intussen mijn email adres doorgestuurd.
Steven
Citaat van: Steven op do 07 09 2006, 21:14:40
Citeer
@ Steven heb je een pm anders stuur ik u mijn code eens door.
Heb jij ook voor graduaat hout gestudeerd.
Inderdaad, ik heb ook graduaat Hout gestudeerd. Ben vorig jaar afgestudeerd.
Heb intussen mijn email adres doorgestuurd.
Steven
Er zitten hier nog een paar van graduaat Hout, ben er nl ook eentje van. :wink:
Rogiers Steven :?: