Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  AddMLeader leaderLineIndex benutzen

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
Autor Thema:  AddMLeader leaderLineIndex benutzen (1075 mal gelesen)
Simon Pie
Mitglied
Bauingenieur


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

Beiträge: 12
Registriert: 09.02.2014

professionelle Dokumentation

erstellt am: 03. Apr. 2014 19:56    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

Hallo,

für die Verbesserung eines Makros würde ich gerne, dass Excel Multiführungslinien zeichnet.
Doch leider klappt dies bei den Grundlagen nicht.

Auf http://entercad.ru/acadauto.en/ex_addmleader.htm gibt es dieses Beispiel:

Sub Example_AddMLeader()
Dim oML As AcadMLeader
Dim points(0 To 14) As Double
' Define the leader points
points(0) = 1: points(1) = 1: points(2) = 0
points(3) = 1: points(4) = 2: points(5) = 0
points(6) = 2: points(7) = 2: points(8) = 0
points(9) = 3: points(10) = 2: points(11) = 0
points(12) = 4: points(13) = 4: points(14) = 0
Dim i As Long
Set oML = ThisDrawing.ModelSpace.AddMLeader(points, i)
End Sub

Die Variable i wird mit leaderLineIndex bezeichnet und ich weiß nicht, was ich da einsetzen muss, damit es klappt.
Ich habe sämtliche Werte -1,0,1,2,10,20,21,30 und 90 durchprobiert und er meckert jedes Mal.
Was muss ich da für einen Wert einsetzen?

viele Grüße Simon

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 03. Apr. 2014 22:01    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 Simon Pie 10 Unities + Antwort hilfreich

Zitat:
Ich habe sämtliche Werte -1,0,1,2,10,20,21,30 und 90 durchprobiert und er meckert jedes Mal.
Wie darf man sich "er meckert jedes mal" vorstellen?
Der Code ist das Beipiel aus der VBA-Hilfe und dieses läuft bei mir problemlos (AutoCAD 2014, SP1, 64bit), ich hätte 0 und 1 probiert, kann aber auch nicht sagen, was unter "Input index of the mleader cluster" lt. Hilfe zu verstehen ist (und hab auch nicht weiter probiert).

------------------


www.cars4fun.at

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

Simon Pie
Mitglied
Bauingenieur


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

Beiträge: 12
Registriert: 09.02.2014

professionelle Dokumentation

erstellt am: 05. Apr. 2014 15:51    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

Hallo,

er meckert folgendes:
Laufzeitfehler 5
Ungültiger Prozeduraufrug oder ungültiges Argument.

L = Ws.Cells(48 + ZK, 10) / 200
Mittelpunkt(1) = letzterTräger(1) + L
Mleaderpunkte(0) = letzterTräger(0)
Mleaderpunkte(1) = letzterTräger(1) + L
Mleaderpunkte(2) = 0
L = L + 0.2
Mleaderpunkte(3) = Mleaderpunkte(0) + L
Mleaderpunkte(4) = Mleaderpunkte(1) + L
Mleaderpunkte(5) = 0
Mleaderpunkte(6) = Mleaderpunkte(3) + 0.1
Mleaderpunkte(7) = Mleaderpunkte(4)
Mleaderpunkte(8) = 0
Mleaderpunkte(9) = 0
Mleaderpunkte(10) = 0
Mleaderpunkte(11) = 0
Mleaderpunkte(12) = 0
Mleaderpunkte(13) = 0
Mleaderpunkte(14) = 0
Set Mlinie = Zeichnung.AddMLeader(Mleaderpunkte, 0)

Zuerst hatte ich einen Array mit 9 Werte, jetzt einen mit 15 Werte. Er meckert bei beiden.

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 05. Apr. 2014 19:33    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 Simon Pie 10 Unities + Antwort hilfreich

Zitat:
Laufzeitfehler 5
Ungültiger Prozeduraufrug oder ungültiges Argument.
bei welcher Zeile? Und wie sind die einzelnen Variable deklariert? Mit halbem Code ist es schwer mit dem Reproduzieren:
- Ws.Cells ist hier nicht bekannt
- was die Variable Mittelpunkt(1) hier soll, weiß ich nicht
- wie Mleaderpunkte deklariert ist, seh ich nicht
- wie Mlinie deklariert ist, geht hier auch nicht hervor
Kommen wir wieder zurück zum Code des ersten Beitrags (da ist alles deklariert und bekannte Inhalte. Kommt hier die gleiche Meldung und bei welcher Zeile?

------------------


www.cars4fun.at

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

Simon Pie
Mitglied
Bauingenieur


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

Beiträge: 12
Registriert: 09.02.2014

professionelle Dokumentation

erstellt am: 15. Apr. 2014 18:03    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

Hallo,

danke für die Mühe,
ich habe das Problem endlich gefunden. Bei der Variable fehlte was.
er meckerte bei der Zeile mit der Multiführungslinie.

Hier die Variablen:
    Dim AutoCAD As Object 'AutoCAD.Application
    Dim Ws As Worksheet
    Dim Zeichnung As AcadModelSpace
    Dim letzterTräger(0 To 2) As Double
    Dim h, i, j, k, L, Vorzeichen, Joch, Zeile As Integer
    Dim Spin, ZK, Stützenanzahl, ExN, Stützenbemaßen, AlleAusdrehmaße As Integer
    Dim Mleaderpunkte(0 To 14) ääähm

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 16. Apr. 2014 16: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 Nur für Simon Pie 10 Unities + Antwort hilfreich

Hallo Simon,

Zitat:
    Dim Spin, ZK, Stützenanzahl, ExN, Stützenbemaßen, AlleAusdrehmaße As Integer
    Dim Mleaderpunkte(0 To 14) ääähm

Da sind noch viele "ääähm" drin. Für VBA ist der Typ "ääähm"=Variant.
Das ist wohl manchmal grob falsch, manchmal nicht.
Bei deiner Deklaration sind die Variablen
Spin, ZK, Stützenanzahl, ExN, Stützenbemaßen alle vom Typ "ääähm/Variant und AlleAusdrehmaße vom Typ Integer.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

Simon Pie
Mitglied
Bauingenieur


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

Beiträge: 12
Registriert: 09.02.2014

professionelle Dokumentation

erstellt am: 16. Apr. 2014 20:22    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

Muss ich da für jede Variable eine Zeile eintippen, oder gibt es da eine Kurzform, dass all diese Variablen vom Typ Integer sind?

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 23. Apr. 2014 12:40    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 Simon Pie 10 Unities + Antwort hilfreich

Am Besten ist es im Projekt "OPTION EXPLICIT" zu setzen.
Dann musst du alle Variablen deklarieren.

Ja du musst für jede Variable den Typ angeben.
Es geht auch mit angehängten Typkürzeln (siehe unten)

Code:
Option Explicit
Sub Datentypen()

    Dim IntegerZahl%, SingleZahl!, LongZahl&, DoubleZahl#, StringText$, VariantWert
   
    IntegerZahl = 4
    SingleZahl = 1
    LongZahl = 1
    DoubleZahl = 1.2
    StringText = "xyz"
    VariantWert = 333
    VariantWert = "xyz"

End Sub



Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht. 
www.ib-stelberg.de

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)2023 CAD.de | Impressum | Datenschutz