Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  List geht in ACA2010 nicht mehr

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:  List geht in ACA2010 nicht mehr (2594 mal gelesen)
snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 23. Feb. 2010 11:04    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 Forum...

ich habe seinerzeit mal folgenden Lisp-Code zum Umwandlen von "assoziativen" AEC-Bemassungen in "nichtassoziative" AEC-Bemassungen zu großen Teilen aus diesem Forum "abgeschrieben" und mit meinen rudimentären Lisp-Kenntnissen etwas modifiziert.
Bei ACA2009 hat auch alles ganz wunderbar geklappt. Bei ACA2010 scheint irgendeine dieser Funktionen nun andere Parameter zu verlangen, denn beim Ausführen des Lisps erscheint nach dem Wählen der Objekte die Fehlermeldung

Code:
*Abbruch*
Fehlerhafter Argumenttyp: 2D-/3D-Punkt: nil

Hat von euch jemand nen Tipp, wo das Problem liegt? Ich finde die Stelle einfach nicht...

Code:

(defun c:convertdim( / oldosmode oldcmdecho ss ss2 l cl cnt en ed el p1 p2 pd w lauswahl )
  (setq
    oldosmode (getvar "osmode")
    oldcmdecho (getvar "cmdecho")
    ;ss (ssget "X" '((0 . "AEC_DIMENSION_GROUP")))
    ss (ssget)
    l (sslength ss)
    cl 0
    cnt 0
  )
  (setvar "cmdecho" 0)
  (setvar "osmode" 0)
  (while (< cnt l)
    (setq
      en (ssname ss cnt)
      ed (entget en)
      p1 (cdr (assoc 10 ed))
      pd (cdr (assoc 16 ed))
      w (angle '(0 0 0 ) pd)
      p2 (polar p1 w 1)
      cnt (1+ cnt)
      el (entlast)
    )
    (command "_explode" en)
    (command "_explode" (entlast))
    (setq ss2 (ssadd))
    (while (setq el (entnext el))
      (ssadd el ss2)
    )
    (if (= (sslength ss2) 1)
      (command "dimconvert" ss2 "" "_yes" p1 p2)
      ;else
      (command "dimconvert" ss2 "" p1 p2 "")
    )
    (setq cl (1+ cl))
    (command "-objectscale" (entlast) "" "_add" "" "")
  )
  (setvar "osmode" oldosmode)
  (setvar "cmdecho" oldcmdecho)
  (terpri)
  (princ l)(princ " Bemassungen in ")(princ cl)(princ " manuelle Bemassungen konvertiert")
;(sssetfirst(setq a(ssget "_x" '((0 . "DIMENSION"))))a)
(setq lauswahl (ssget "_x" '((0 . "DIMENSION"))))
(command "_erase" lauswahl "")
  (princ)

)

(princ "\nKonvertiert assoziative AEC-Bemassungen in nichtassoziative AEC-Bemassungen")
(princ "\nACHTUNG!! Löscht alle klassischen AutoCAD-Bemassungen in der Zeichnung!!")
(princ "\n")
(princ "\nAufruf: CONVERTDIM ")
(princ)


------------------
http://www.sebastian-schild.de

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 23. Feb. 2010 11:14    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 snoopyonline 10 Unities + Antwort hilfreich

hi,
da war mal was mit (initcommandversion ...)
nur ohne 2010 - kein Test...

------------------
Mfg Heiko

Elefantenjagd in Afrika
"... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."   (www.uni-leipzig.de/~rotheh/elefant.htm)

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 23. Feb. 2010 11:29    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

Habe probiert (InitCommandVersion 1) einmal bzw. vor jedem (Command ..) in meinen Code einzubauen - hat aber nichts geändert... Der Fehler taucht unverändert auf.

------------------
http://www.sebastian-schild.de

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 23. Feb. 2010 12:28    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 snoopyonline 10 Unities + Antwort hilfreich

Also bis vor (command "dimconvert"... funkts bei mir -
den Befehl DIMCONVERT/_DIMCONVERT gibts bei mir aber nicht.
Wähle ich aber z.B. einen Text (statt az. dim), dann krieg ich deine Fehlermeldung ...

------------------
Schöne Grüße
Ernst

www.geopaint.at

[Diese Nachricht wurde von Geos am 23. Feb. 2010 editiert.]

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 23. Feb. 2010 18:16    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

Der Befehl DIMCONVERT gehört wohl zum AutoCAD ARCHITECTURE (ACA) - speziell zu den AEC-Bemaßungen - und ist bei deinem MAP scheinbar nicht vorhanden.
Da es den Befehl aber sowohl in ACA2009 als auch ACA2010 gibt und die Einzelschritte beim "manuellen" Ausführen im AutoCAD aber identisch sind, glaub ich fast nicht, dass es an diesem liegt.
Und falls doch, bräuchte ich nen Tipp, wie ich diesen dann jetzt aufrufen muss.

------------------
http://www.sebastian-schild.de

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

Rechner: i5-2500@3.3 GHz, 16GB RAM, Windows7 64bit
Software: ACA2013, BDS Premium 2015/2016

erstellt am: 24. Feb. 2010 17:06    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

Ich habe jetzt mal angefangen, den Code weitestgehend auszukommentieren und Stück für Stück bzw. Zeile für Zeile durchzutesten. Dabei bin ich darauf gestoßen, dass schon der folgende Block
Code:

(setq
en (ssname ss cnt)
ed (entget en)
p1 (cdr (assoc 10 ed))
...
)

eben nicht den Startpunkt der Bemaßung sondern ein NIL zurückliefert. Das könnte durchaus dann den Fehler bei der späteren Verwendung von P1 bewirken.

Leider hab ich keine Ahnung, wie die Ermittlung von P1 jetzt in ACA2010 "richtig" wäre. Könnt ihr mir da weiterhelfen?

------------------
http://www.sebastian-schild.de

[Diese Nachricht wurde von snoopyonline am 24. Feb. 2010 editiert.]

[Diese Nachricht wurde von snoopyonline am 24. Feb. 2010 editiert.]

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 24. Feb. 2010 18: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 Nur für snoopyonline 10 Unities + Antwort hilfreich

Da hat sich in 2010 nichts geändert!

Hast Du auch den Inhalt Deiner Variablen geprüft? -
in "ed" müßtest Du beispielsweise sowas (ähnliches) finden:

Code:
((-1 . <Objektname: 7e5ace50>;) (0 . "DIMENSION") (330 .
<Objektname: 7e591d18>;) (5 . "C7BA") (100 . "AcDbEntity") (67 . 0) (410 .
"Model") (8 . "DOOR_SINGLE") (100 . "AcDbDimension") (280 . 0) (2 . "*D30")
(10 -2.02208 -14.075 0.0) (11 -1.67599 -15.3906 0.0) (12 0.0 0.0 0.0) (70 . 33) (1
. "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 2.69812) (73 . 0) (74 . 0) (75 . 0)
(52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 .
"Bestand-100") (100 . "AcDbAlignedDimension") (13 0.15114 -16.5152 0.0) (14
-0.193923 -13.8393 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0))

Also bei 10 müßte es eine Koordinate geben und auch bei ACA wirds wohl eine "DIMENSION" sein.
Wenn nicht, mal zurückverfolgen ...

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 25. Feb. 2010 09:36    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

@Ernst:

habe mal wie geraten, die Variable "ed" geprüft bzw. mit princ ausgeben lassen.

Code:

((-1 . <Objektname: 7c79d980>;) (0 . AEC_DIMENSION_GROUP) (5 . 4728) (102 .
{ACAD_XDICTIONARY) (360 . <Objektname: 7c79d988>;) (102 . }) (330 . <Objektname:
7c6f6d08>;) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . A_Bemassung))

Also ich kann da leider keinen Punkt drin finden...

Was nun  


NACHTRAG:
hab das Script auch noch mal im ACA2009 mit Prüfung von "ed" durchlaufen lassen und dort ist die Rückmeldung deutlich ergiebiger...

Code:

((-1 . <Objektname: 7e40d258>;) (0 . AEC_DIMENSION_GROUP) (5 . 58AB) (102 .
{ACAD_XDICTIONARY) (360 . <Objektname: 7e40d260>;) (102 . }) (330 . <Objektname:
7e5fed08>;) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . A_Bemassung) (100 .
AecDbEntity) (102 . {AEC_SUBOBJECT) (300 . AecImpDimensionGroup) (100 .
AecImpObj) (3 . ) (100 . AecImpEnt) (171 . 0) (100 . AecImpGeo) (10 13.4141
5.52019 0.0) (15 -1.0 0.0 0.0) (16 0.0 -1.0 0.0) (210 0.0 0.0 1.0) (360 .
<Objektname: 0>;) (100 . AecImpDimensionGroup) (102 . {AEC_DIMENSION_CHAIN) (100
. AecImpObj) (3 . ) (100 . AecImpArray) (90 . 1) (102 . {AEC_SUBOBJECT) (300 .
AecImpAssociativeDimensionChain) (100 . AecImpObj) (3 . ) (100 . AecImpEnt)
(171 . 0) (100 . AecImpGeo) (10 0.0 0.0 0.0) (15 1.0 0.0 0.0) (16 0.0 1.0 0.0)
(210 0.0 0.0 1.0) (360 . <Objektname: 0>;) (100 . AecImpDimensionChain) (91 . 2)
(10 10.8093 4.50568 0.0) (91 . 65535) (92 . 1) (93 . 0) (1 . ) (330 .
<Objektname: 0>;) (331 . <Objektname: 0>;) (94 . 65535) (10 14.9703 4.47187 0.0)
(91 . 65535) (92 . 1) (93 . 1) (1 . ) (330 . <Objektname: 0>;) (331 .
<Objektname: 0>;) (94 . 65535) (100 . AecImpAssociativeDimensionChain) (102 .
AEC_SUBOBJECT}) (102 . AEC_DIMENSION_CHAIN}) (341 . <Objektname: 7e40d200>;) (68
. 0) (69 . 0) (10 0.0 0.0 0.0) (102 . AEC_SUBOBJECT}) (102 . {AEC_NULLOBJECT})
(100 . AecDbGeo) (100 . AecDbDimensionGroup))


------------------
http://www.sebastian-schild.de

[Diese Nachricht wurde von snoopyonline am 25. Feb. 2010 editiert.]

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 25. Feb. 2010 11:21    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 snoopyonline 10 Unities + Antwort hilfreich

Hi,

tja, was soll man dazu sagen. 
Ohne eine DWG wirst du hier weiter Monologe halten. 


Gruß
CADchup

------------------
CADmaro.de

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 25. Feb. 2010 12:17    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


AEC-Bemassung.dwg.txt


convertdim.lsp.txt

 
@CADchup:

ich glaub zwar nicht, dass eine DWG da weiterhilft, da es sich scheinbar um ein generelles Problem in vorhandenen und neu erstellten Zeichnungen handelt, aber ich habe nichtsdestotrotz sowohl eine Zeichnung als auch das Lips-File angefügt...

------------------
http://www.sebastian-schild.de

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 25. Feb. 2010 12:26    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 snoopyonline 10 Unities + Antwort hilfreich

hallo,
da du 2 unterschiedliche objekte ueberprueft hast (unterschiedliches handle), pruef doch bitte mal das gleiche object in 2009 und 2010.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 25. Feb. 2010 12:31    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 snoopyonline 10 Unities + Antwort hilfreich

Mangels ACA muss ich passen ...

Code:
((-1 . <Objektname: 7c79d980>;) (0 . AEC_DIMENSION_GROUP) (5 . 4728) (102 .
{ACAD_XDICTIONARY) (360 . <Objektname: 7c79d988>;) (102 . }) (330 . <Objektname:
7c6f6d08>;) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . A_Bemassung))

...sorry.

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 25. Feb. 2010 12:43    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

OK....

Zeichnung in ACA2009 erstellt, AEC-Bemassung eingefügt und geprüft:

Code:

((-1 . <Objektname: 7e40d258>;) (0 . AEC_DIMENSION_GROUP) (5 . 58AB) (102 .
{ACAD_XDICTIONARY) (360 . <Objektname: 7e40d260>;) (102 . }) (330 . <Objektname:
7e5fed08>;) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . A_Bemassung) (100 .
AecDbEntity) (102 . {AEC_SUBOBJECT) (300 . AecImpDimensionGroup) (100 .
AecImpObj) (3 . ) (100 . AecImpEnt) (171 . 0) (100 . AecImpGeo) (10 6.75328
0.876048 0.0) (15 -1.0 0.0 0.0) (16 0.0 -1.0 0.0) (210 0.0 0.0 1.0) (360 .
<Objektname: 0>;) (100 . AecImpDimensionGroup) (102 . {AEC_DIMENSION_CHAIN) (100
. AecImpObj) (3 . ) (100 . AecImpArray) (90 . 1) (102 . {AEC_SUBOBJECT) (300 .
AecImpAssociativeDimensionChain) (100 . AecImpObj) (3 . ) (100 . AecImpEnt)
(171 . 0) (100 . AecImpGeo) (10 0.0 0.0 0.0) (15 1.0 0.0 0.0) (16 0.0 1.0 0.0)
(210 0.0 0.0 1.0) (360 . <Objektname: 0>;) (100 . AecImpDimensionChain) (91 . 2)
(10 0.883919 0.233529 0.0) (91 . 65535) (92 . 1) (93 . 0) (1 . ) (330 .
<Objektname: 0>;) (331 . <Objektname: 0>;) (94 . 65535) (10 3.67483 0.233529 0.0)
(91 . 65535) (92 . 1) (93 . 1) (1 . ) (330 . <Objektname: 0>;) (331 .
<Objektname: 0>;) (94 . 65535) (100 . AecImpAssociativeDimensionChain) (102 .
AEC_SUBOBJECT}) (102 . AEC_DIMENSION_CHAIN}) (341 . <Objektname: 7e40d200>;) (68
. 0) (69 . 0) (10 0.0 0.0 0.0) (102 . AEC_SUBOBJECT}) (102 . {AEC_NULLOBJECT})
(100 . AecDbGeo) (100 . AecDbDimensionGroup))

Zeichnung gespeichert und Bemassung in ACA2010 geprüft:

Code:

((-1 . <Objektname: 7db951d8>;) (0 . AEC_DIMENSION_GROUP) (5 . 58AB) (102 .
{ACAD_XDICTIONARY) (360 . <Objektname: 7db951e0>;) (102 . }) (330 . <Objektname:
7c103d08>;) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . A_Bemassung))

------------------
http://www.sebastian-schild.de

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 25. Feb. 2010 15: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 snoopyonline 10 Unities + Antwort hilfreich

kannst du unter aca 2010 die bemassung haendisch mit dem befehl "dimconvert" konvertieren?
eventuell sind nicht alle arx/dbx geladen. (nur so ne vermutung)

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

Rechner: i5-2500@3.3 GHz, 16GB RAM, Windows7 64bit
Software: ACA2013, BDS Premium 2015/2016

erstellt am: 25. Feb. 2010 15:31    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

ich kann den Befehl DIMCONVERT händisch ausführen und diesen auch in meinem Lisp erfolgreich nutzen, sofern ich dort die Punkte P1 und P2 irgendwie festlege. Nur die Ermittlung der Punkte P1 und P2 klappt halt nicht, da die AEC-Bemassungen in den beiden Programmversionen wohl unterschiedliche Eigenschaften aufweisen (siehe vorherige Threads)

------------------
http://www.sebastian-schild.de

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

snoopyonline
Mitglied
Architekt


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

Beiträge: 192
Registriert: 17.05.2003

erstellt am: 25. Feb. 2010 16: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

Die "fehlenden" Eigenschaften der AEC-Bemassungen in ACA2010 sind ja nun wohl ein Problem, welches man nicht so einfach wegdiskutieren kann.
Daher hab ich mich mal daran gemacht und die im "Hauptbeitrag" eingestellte Lisp etwas umzustricken und bin dabei schon einen großen Schritt weitergekommen.

Nur zum Verständnis:
die Ur-Lisp hat aus den markierten AEC-Bemassungen die für die "neue Bemassung" benötigten Punkte P1 und P2 ausgelesen bzw. über Umwege ermittelt. Danach wurde die AEC-Bemassung in eine oder mehrere "gedrehte Bemassungen" zerlegt (2x Explode) und diese in den Auswahlsatz "SS2" eingefügt. Anschließenden wurden diese "gedrehten Bemassungen" in SS2 zu einer neuen AEC-Bemassung (DIMCONVERT SS2 "" P1 P2) zusammengesetzt. Dabei war es wohl egal, dass in SS2 auch Kreise oder Linien (Relikte von manuell entfernten Hilfspunkten) enthalten sein konnten. Die wurden wohl ignoriert.

Jetzt hab ich die Lisp so umgestrickt, dass ich die AEC-Bemassungen sofort zerlege (Einzelteile wieder in Auswahlsatz SS2) und dann erst aus den gedrehten Bemassungen in SS2 meine Punkte P1 und P2 ermittle. Das klappt in 90% der Fälle auch ganz gut.
Allerdings machen mir die oben erwähnten Kreise und Linien die ggf. auch in SS2 stecken echte Probleme.

Daher meine Frage, wie ich im folgenden Lisp den Auswahlsatz SS2 so filtern kann, dass dieser ausschließlich die gedrehten Bemassungen enthält. Ich denke dabei könnt ihr mir eher helfen als bei fehlenden Objekteigenschaften in ACA2010 

NEU:

Code:

(defun c:convertdim( / oldosmode oldcmdecho ss ss2 l cl cnt en en2 ed ed2 el el2 p1 p2 pd w lauswahl )
  (setq
    oldosmode (getvar "osmode")
    oldcmdecho (getvar "cmdecho")
    ss (ssget)
    l (sslength ss)
    cl 0
    cnt 0
  )
  (setvar "cmdecho" 0)
  (setvar "osmode" 0)
  (while (< cnt l)
    (setq
      en (ssname ss cnt)
      ed (entget en)
      cnt (1+ cnt)
      el (entlast)
    )
   
    (command "_explode" en)
    (command "_explode" (entlast))
    (setq ss2 (ssadd))
    (while (setq el (entnext el))
      (ssadd el ss2)
    )
  (setq
en2 (ssname ss2 (- (sslength ss2) 1))
ed2 (entget en2)
p1 (cdr (assoc 10 ed2))
w (cdr (assoc 50 ed2))  ;(angle '(0 0 0 ) pd)
p2 (polar p1 (+ w (* pi 0.5))  1)
     
)
    (if (= (sslength ss2) 1)
        (command "dimconvert" ss2 "" "_yes" p1 p2 )
      ;else
      (command "dimconvert" ss2 "" p1 p2 "")
    )
    (setq cl (1+ cl))
    (command "-objectscale" (entlast) "" "_add" "" "")
  )
  (setvar "osmode" oldosmode)
  (setvar "cmdecho" oldcmdecho)
  (terpri)
  (princ l)(princ " Bemassungen in ")(princ cl)(princ " manuelle Bemassungen konvertiert")

(setq lauswahl (ssget "_x" '((0 . "DIMENSION"))))
(command "_erase" lauswahl "")
  (princ)

)

(princ "\nKonvertiert assoziative AEC-Bemassungen in nichtassoziative AEC-Bemassungen")
(princ "\nACHTUNG!! Löscht alle klassischen AutoCAD-Bemassungen in der Zeichnung!!")
(princ "\n")
(princ "\nAufruf: CONVERTDIM ")
(princ)


------------------
http://www.sebastian-schild.de

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 26. Feb. 2010 11: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 snoopyonline 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von snoopyonline:
Daher meine Frage, wie ich im folgenden Lisp den Auswahlsatz SS2 so filtern kann, dass dieser ausschließlich die gedrehten Bemassungen enthält.

Ohne jetzt groß in Deinen Code eingestiegen zu sein...
Du baust doch ss2 selbst zusammen?
Mach doch einfach in Deiner Erstellungsschleife ein if mit rein und gut.
Oder aber Du nimmst Deinen Auswahlsatz und gehst den noch mal durch und schmeißt alle Objekte raus die nicht Bemassung sind.

------------------
Ciao,
Marc
   

[Diese Nachricht wurde von marc.scherer am 26. Feb. 2010 editiert.]

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