Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Kanten eines Zylinders anrunden

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:  Kanten eines Zylinders anrunden (1211 mal gelesen)
Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 29. Okt. 2015 17:10    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 liebe Lispgemeinde,

ich hab mir gerade ein Progi zusammengeschustert das Armaturen mit Antrieben zeichnet.
Alles gaaaaanz simpel.
An einem Antrieb hab ich einen Zylinder gezeichnet, dessen Kanten ich abrunden möchte und da komme ich nicht weiter, weil Autocad bei diesem Befehl ein Auswahlrechteck anbietet, mit der ich die Kante des Zylinders
markieren soll.... hab schon versucht über definierte Koordinaten das hin zu bekommen.....aber da hört halt mein Halbwissen auf.
Vielleicht kennt jemand ne passende Zeile......
Suche im Netz und hier war leider erfolglos....

(if (= Pro "M")(progn(setq DN1 (getstring "\n Nenndurchmesser DN <>:"))
(if (= DN1 "15")(progn(setq dugo 300 )(setq lang1 15 )(setq lang2 495)))
(if (= DN1 "20")(progn(setq dugo 300 )(setq lang1 20 )(setq lang2 495)))
(if (= DN1 "25")(progn(setq dugo 300 )(setq lang1 25 )(setq lang2 500)))
(if (= DN1 "32")(progn(setq dugo 300 )(setq lang1 32 )(setq lang2 500)))
(if (= DN1 "40")(progn(setq dugo 300 )(setq lang1 40 )(setq lang2 540)))
(if (= DN1 "50")(progn(setq dugo 300 )(setq lang1 50 )(setq lang2 540)))
(if (= DN1 "65")(progn(setq dugo 300 )(setq lang1 65 )(setq lang2 545)))
(if (= DN1 "80")(progn(setq dugo 300 )(setq lang1 80 )(setq lang2 585)))
(if (= DN1 "100")(progn(setq dugo 300 )(setq lang1 100 )(setq lang2 610)))

(setq lang3 135)

(setq startpkt (getpoint "\nEinfügepunkt wählen: "))
(setq xstart (car startpkt))
(setq ystart (car (cdr startpkt)))
(setq zstart (car (cddr startpkt)))

(setq X1 xstart)
(setq Y1 ystart)
(setq X2 xstart)
(setq Y2 ystart)
(setq Z2 (+ zstart (- lang2 lang3)))

(setq X3 xstart)
(setq Y3 (+ ystart (* dugo 0.5 )))
(setq Z3 (+ zstart lang2))

(setq p1 (list X1 Y1 zstart))
(setq p2 (list X2 Y2 Z2))
(setq p3 (list X3 Y3 Z3))


(command "_circle" p1 "_d" lang1 "")
(command "_extrude" "_last" "" lang2 "") (setq e1 (entlast))

(command "_circle" p2 "_d" dugo "")
(command "_extrude" "_last" "" lang3 "") (setq e2 (entlast))

(command "Abrunden" "30" e2 "" p3 "")

(command "_union" e1 e2 "")

));end progn;end if

[Diese Nachricht wurde von Jürgen Scheeren am 29. Okt. 2015 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 29. Okt. 2015 20:30    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 Jürgen Scheeren 10 Unities + Antwort hilfreich

Ohne mich in dein Projekt einzulesen gehe ich einfach mal allgemein auf den AutoCAD Objektfang, insbesondere bei Verwendung von AutoCAD-Befehlen (command ...) ein,
vielleicht ist das ja schon der Weg zur Lösung.

1. Der Objektfang berücksichtigt, falls eingeschaltet und nicht  explizit anders angegeben, den OFang(fortlaufender Objektfang/Osmode)
In Abhängigkeit der Einstellung von der Systemvariable Osnapcoord, gerade für die Automatisierung ist der Vorgabewert falsch, dieser sollte daher Immer und bei jedem Profil (bzw. im Makro, Script oder Programm wie benötigt eingestellt werden).

2. Der AutoCAD-Objektfang ist Ansichtsabhängig (außer bei Objektangaben wie Vorher Letztes Alle oder Gruppe zB)

Stelle also Osnapcoord auf 2, stelle sicher das der betreffende Bereich ausreichend groß sichtbar im Dateifenster/aktueller Ansichtsbereich zu sehen ist.

Dann teste es noch Mal.

-editert-

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 30. Okt. 2015 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 Nur für Jürgen Scheeren 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Jürgen Scheeren:
Hallo liebe Lispgemeinde,

ich hab mir gerade ein Progi zusammengeschustert das Armaturen mit Antrieben zeichnet.
Alles gaaaaanz simpel.


Weil Du ja alles über COMMAND erledigst, stellt sich zu allererst die entscheidende Frage: hast Du das auch genau so in der Befehlszeile schon mal getestet? Klappt's da?

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

Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 30. Okt. 2015 10: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

@ Hallo cadffm,
@ Hallo archtools,

das Programm läuft einwandfrei, die Zeilen sind auch nur ein Ausschnitt von einem noch größeren Programm, dass ich mir zusammengeschustert habe.
Was ich eigentlich mit dem Abrundenbefehl möchte ist reine Kosmetik....
ich möchte eben die  Kanten eines Zylinders abrunden und komme mit meinen
bescheidenen Kenntnissen, dass über command zu lösen nicht weiter....
und so hatte ich gehofft, dass sich jemand erbarmt und mir ne Lispzeile spendiert,
wie ich das bewerkstellige kann....

Gruß Jürgen

[Diese Nachricht wurde von Jürgen Scheeren am 30. Okt. 2015 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 30. Okt. 2015 10: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 Nur für Jürgen Scheeren 10 Unities + Antwort hilfreich

Du hast doch schon berechnet wo sich die Kante befindet, wenn nicht, so bin ich sicher das du es schaffst?
Unter berücksichtung meiner Tips zur Objektwahl sollte es eigentlich funktionieren (wie gesagt: ungetestet).


------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 30. Okt. 2015 12:05    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 Jürgen Scheeren 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Jürgen Scheeren:
@ Hallo cadffm,
@ Hallo archtools,

das Programm läuft einwandfrei, die Zeilen sind auch nur ein Ausschnitt von einem noch größeren Programm, dass ich mir zusammengeschustert habe.
Was ich eigentlich mit dem Abrundenbefehl möchte ist reine Kosmetik....


Ich wiederhole: Weil Du ja alles über COMMAND erledigst, stellt sich zu allererst die entscheidende Frage: hast Du das auch genau so in der Befehlszeile schon mal getestet? Klappt's da?

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

Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 30. Okt. 2015 14:32    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

So Ihr lieben Helfenden,
hab noch einmal das www durchforstet und genau das gefunden was ich brauche.....
Die obere Kante des Zylinders wird mit einem Radius versehen.
Es funktioniert einwandfrei, ich brauchte es nur ein wenig abzuändert.

Trotzdem vielen Dank für Eure Hilfe und Anregungen   

(if (= Pro "M")(progn(setq DN1 (getstring "\n Nenndurchmesser DN <>:"))
(if (= DN1 "15")(progn(setq dugo 300 )(setq lang1 15 )(setq lang2 495)))
(if (= DN1 "20")(progn(setq dugo 300 )(setq lang1 20 )(setq lang2 495)))
(if (= DN1 "25")(progn(setq dugo 300 )(setq lang1 25 )(setq lang2 500)))
(if (= DN1 "32")(progn(setq dugo 300 )(setq lang1 32 )(setq lang2 500)))
(if (= DN1 "40")(progn(setq dugo 300 )(setq lang1 40 )(setq lang2 540)))
(if (= DN1 "50")(progn(setq dugo 300 )(setq lang1 50 )(setq lang2 540)))
(if (= DN1 "65")(progn(setq dugo 300 )(setq lang1 65 )(setq lang2 545)))
(if (= DN1 "80")(progn(setq dugo 300 )(setq lang1 80 )(setq lang2 585)))
(if (= DN1 "100")(progn(setq dugo 300 )(setq lang1 100 )(setq lang2 610)))

(setq lang3 135)
(setq lang4 (- lang2 lang3))

(setq startpkt (getpoint "\nEinfügepunkt wählen: "))
(setq xstart (car startpkt))
(setq ystart (car (cdr startpkt)))
(setq zstart (car (cddr startpkt)))

(setq X1 xstart)
(setq Y1 ystart)
(setq Z1 zstart)
(setq X2 xstart)
(setq Y2 ystart)
(setq Z2 (+ zstart (- lang2 lang3)))

(setq X3 xstart)
(setq Y3 (+ ystart (* dugo 0.5 )))
(setq Z3 (+ zstart lang2))

(setq p1 (list X1 Y1 zstart))
(setq p2 (list X2 Y2 Z2))
(setq p3 (list X3 Y3 Z3))

(command "_circle" p1 "_d" lang1 "")
(command "_extrude" "_last" "" lang2 "") (setq e1 (entlast))

(command "_circle" p2 "_d" dugo "")
(command "_extrude" "_last" "" lang3 "") (setq e2 (entlast))

;;Funktion Zylinderkante abrunden
(setq *osmode (getvar "osmode"))
(command "filletrad" "30" "")
(setvar "osmode" 512) ;;nearest
(initget (+ 1 2 128))
(setvar "osmode" *osmode)
(cond
((listp p3) (command "._fillet" p3 (getvar "filletrad") ""))
(T (setvar "filletrad" (distof p3)) (setq p3 nil))
);end of cond

(command "spirale" p1 lang1 "" "d" "15" lang4 ) (setq e3 (entlast))
(command "_circle" p1 "_d" "10" "")
(command "_sweep" "_last" "" e3 "") (setq e4 (entlast))

(command "_union" e1 e2 e4 "")

));end progn;end if

[Diese Nachricht wurde von Jürgen Scheeren am 30. Okt. 2015 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