Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Round & other ...

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Round & other ... (862 mal gelesen)
startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 07. Apr. 2004 18:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Abend zusammen,

zwei Fragen zu folgendem Codeversuch:

1.Irgendwie klappt weder die Funktion 'Round' noch 'FormatNumber' bei mir, da kommt immer 'Sub oder Function nicht definiert' ???

2. Wie müsste der Code lauten, wenn ich gleichzeitig einen zweiten Text - von mir aus text2="blablabla" - etwa um 1 oberhalb der y-Achse des ersten Textes anordnen möchte?

lg Nancy
--
Sub test()
   
    Dim sset As AcadSelectionSet
    Set sset = ThisDrawing.SelectionSets.Add("sset_3")
    Dim pline As AcadEntity
    Dim textObj As AcadText
    Dim text$
    Dim insertionPoint(0 To 2) As Double
    Dim minPoint, maxPoint
   
    sset.SelectOnScreen
       
    For Each pline In sset
    'text = Str(Round(pline.Area, 2))
    'text = Str(formatnumber(pline.Area, 2))
    text = Str(pline.Area)
    pline.GetBoundingBox minPoint, maxPoint
    insertionPoint(0) = ((maxPoint(0) - minPoint(0)) / 2) + minPoint(0)
    insertionPoint(1) = ((maxPoint(1) - minPoint(1)) / 2) + minPoint(1)
    insertionPoint(2) = ((maxPoint(2) - minPoint(2)) / 2) + minPoint(2)
       
    Set textObj = ThisDrawing.ModelSpace.AddText(text, insertionPoint, 1)
             
    Next

sset.Delete
       
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

harryk
Mitglied
Projektleiter


Sehen Sie sich das Profil von harryk an!   Senden Sie eine Private Message an harryk  Schreiben Sie einen Gästebucheintrag für harryk

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 07. Apr. 2004 19:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für startrek 10 Unities + Antwort hilfreich

tach auch,

round und formatnumber geht bei mir einwandfrei (ac2k2 und mso2k auf xp), ist aber keine autocad spezifische funktion, vielleicht mal verweise überprüfen.

ansonsten:
Sub test()
   
    Dim sset As AcadSelectionSet
    Set sset = ThisDrawing.SelectionSets.Add("sset_1")
    Dim pline As AcadEntity
    Dim textObj As AcadText
    Dim text$
    Dim insertionPoint(0 To 2) As Double
    Dim minPoint, maxPoint
    'machst du hier....
    Dim firstText As Boolean
    Dim txtPoint(0 To 2) As Double
   
   
    sset.SelectOnScreen
       
    For Each pline In sset
    text$ = Str(Round(pline.Area))
    'text = Str(formatnumber(pline.Area, 2))
'    text = Str(pline.Area)
    pline.GetBoundingBox minPoint, maxPoint
    insertionPoint(0) = ((maxPoint(0) - minPoint(0)) / 2) + minPoint(0)
    insertionPoint(1) = ((maxPoint(1) - minPoint(1)) / 2) + minPoint(1)
    insertionPoint(2) = ((maxPoint(2) - minPoint(2)) / 2) + minPoint(2)
   
    'und dann hier...
    If firstText = True Then
        txtPoint(1) = txtPoint(1) + 1
    Else
        txtPoint(0) = insertionPoint(0): txtPoint(1) = insertionPoint(1): txtPoint(2) = insertionPoint(2)
        Set textObj = ThisDrawing.ModelSpace.AddText(text, txtPoint, 1)
        firstText = True
    End If
    Set textObj = ThisDrawing.ModelSpace.AddText(text, txtPoint, 1)
   
    Next

sset.Delete
       
End Sub

gruss, harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 07. Apr. 2004 19:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Harry,

thx für das schnelle Reply.
Okay was Round & Co angeht, prüf ich mal, aber komisch kommts mir schon vor, sind ja reine VB's oder? [a2k/win98/win2k]

Zum andern, bin heut nimmer sooo taufrisch irgendwie ...
aaalso eigentlich sollte er für jede Polyline zwei Zeilen Text [jeweils mittig Bounding]
platzieren. Allerdings schreibt er mir innerhalb der ersten pline nun alles untereinander.

Naja aber ein Ansatz is ja nun da, ich werd mal versuchen das umzubasteln, auch wenn die Bool's nich so meine Kumpels sind,
true & false verwechsel ich mind. genauso oft wie rechts und links 

Nichtsdestotrotz, ich danke Dir 

lg Nancy
--
If this were a logical world, men would ride sidesaddle.
Rita Mae Brown

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

harryk
Mitglied
Projektleiter


Sehen Sie sich das Profil von harryk an!   Senden Sie eine Private Message an harryk  Schreiben Sie einen Gästebucheintrag für harryk

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 08. Apr. 2004 04:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für startrek 10 Unities + Antwort hilfreich

ähhh, ja klar, hab mich schon gewundert was das soll. dann halt nix mit boolen:

Sub test()
   
    Dim sset As AcadSelectionSet
    Set sset = ThisDrawing.SelectionSets.Add("sset_1")
    Dim pline As AcadEntity
    Dim textObj As AcadText
    Dim text$
    Dim insertionPoint(0 To 2) As Double
    Dim minPoint, maxPoint
    sset.SelectOnScreen
       
    For Each pline In sset
    text$ = Trim(Str(Round(pline.Area)))
    'text = Str(formatnumber(pline.Area, 2))
'    text = Str(pline.Area)
    pline.GetBoundingBox minPoint, maxPoint
    insertionPoint(0) = ((maxPoint(0) - minPoint(0)) / 2) + minPoint(0)
    insertionPoint(1) = ((maxPoint(1) - minPoint(1)) / 2) + minPoint(1)
    insertionPoint(2) = ((maxPoint(2) - minPoint(2)) / 2) + minPoint(2)
       
    Set textObj = ThisDrawing.ModelSpace.AddText(text$, insertionPoint, 1)
   
    text$ = "blablabla...":  insertionPoint(1) = insertionPoint(1) + textObj.height * 1.5
    Set textObj = ThisDrawing.ModelSpace.AddText(text$, insertionPoint, 1)
   
    Next
sset.Delete
End Sub

gruss, harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 08. Apr. 2004 09:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

moinmoin,

genial, muchas gracias 

Frohe Ostern
lg Nancy   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz