Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  pljoin-Problem

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:  pljoin-Problem (163 mal gelesen)
AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 08. Okt. 2002 08:02    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


Kurvenverbinden.gif

 
Guten Morgen,

ich habe ein merkwürdiges pljoin-Problem, beim Verbinden von Kurven.
Ich habe folgendes LISP-Programm:

(defun c:abc ()
  (vl-load-com)
  (Querschnitte(entlast)50) ; Abstand veränderbar
  (ss-foreach(ssget"X"'((0 . "LINE"))) ; löscht Linien xy-Ebene
    '(lambda(line)
        (if(line-in-xy-plane? line)(entdel line))
      )
  )
  (BKS_drehen)
(verb_Linien)
)
;.....................................................................
(defun get-bbox(ent / pmin pmax)      ; erzeugt Querschnitte

(setq pmin(vlax-3d-point'(0 0 0)))
(setq pmax(vlax-3d-point'(0 0 0)))
(vlax-invoke-method
(vlax-ename->vla-object ent)
'getBoundingBox 'pmin 'pmax
)
(list
(vlax-safearray->list pmin)
(vlax-safearray->list pmax)
)
)

(defun newbies(lastent / retlist)
(while(setq lastent(entnext lastent))
(setq retlist(cons lastent retlist))
)
)

(defun streifen(ent plane ofs steps / ents lastent)
(repeat (1+ steps)
(setq lastent(entlast))
(apply'vlax-invoke-method
(append
(list(vlax-ename->vla-object ent))
(list 'SectionSolid)
(mapcar'vlax-3d-point plane)
)
)
(command"_explode"(entlast)) ; gibt' da eigentlich kein vlax-put-them-into-jail???
(setq ents(append ents(newbies lastent)))
(setq plane
(mapcar'(lambda(p)(mapcar'+ p ofs))plane)
)
)
ents
)

(defun Querschnitte(ent d / dimx dimz bb)
(setq bb(get-bbox ent))
(setq dimx(abs(-(caar bb)(caadr bb))))
(setq dimz(abs(-(caddar bb)(caddr(cadr bb)))))
(append
(streifen ent'((0 0 0)(0 1 0)(0 0 1))(list d 0 0)(fix(/ dimx d)))  ;y/z-Ebene
)
)

;..................................
(defun ss-foreach(ss expr / i)
                              (if ss
                                (repeat(setq i(sslength ss))
                                  ((eval expr)(ssname ss(setq i(1- i))))
                                )
                              )
                            )

(defun line-in-xy-plane?(line / ) ; löscht alle Linien in x/y-Ebene
                              (and
                                (equal 0(caddr(cdr(assoc 10(entget line))))*epsilon*) ; die einen Z-Wert von 0 haben
                                (equal 0(caddr(cdr(assoc 11(entget line))))*epsilon*)
                              )
                            )
(setq *epsilon* 1e-8)


;.....................................................................
(defun BKS_drehen ( / )
(setq as (ssget "X" '((0 . "LINE"))))
(setq en (ssname as 0))
(command "_ucs" "_e" en)
)

;.....................................................................

;;;
;;;    PLJOIN.LSP
;;;    Copyright © 1999 by Autodesk, Inc.
;Set global for controling precision of internal point comparison.
(setq #acet-pljoin-prec 0.0000001)

;;;;;;;;;;;Hauptprogramm verb_Linien;;;;;;;;;;;;;;;;;;;;;;;;
(defun verb_Linien ( / flt ss fuzz st)
(acet-error-init
(list (list  "cmdecho" 0
            "highlight" (getvar "highlight")

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;.....HIER IST DER REST DES PLJOIN-SKRIPTES EINZUFÜGEN!!!!!!!!!!
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Wenn ich dieses Skript auf die angehängte Abbildung anwende, dann werden die Kruven nicht mit verbunden (s. rote Linien).

Was läuft da nicht richtig?
Denn gebe ich in der Commando-Zeile pljoin an und wähle manuell (bei richtigem Koordinatensystem)eine Kurve und eine Linie aus, so werden diese miteinander verbunden.

Viele Grüße
Andrea

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

StephanJP
Mitglied
CAD-Admin


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

Beiträge: 830
Registriert: 09.11.2000

erstellt am: 08. Okt. 2002 08:25    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 AB 10 Unities + Antwort hilfreich

Hallo Andrea,

die Kurven liegen nicht in der gleichen Ebene wie Deine Linien, da pljoin nur die Linien verbindet, die in der xy-Ebene liegen. Deine Kurven liegen aber in der yz-Ebene

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

gruß
stephan

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 08. Okt. 2002 09:09    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

Oh ich Schaf, ich habe meinen Fehler gefunden.
Das Problem ist somit gelöst.

[Diese Nachricht wurde von AB am 22. Oktober 2002 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