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
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  pljoin-Problem (165 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: 834
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)2024 CAD.de | Impressum | Datenschutz