• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Schreiben Sie den Wert der Bereiche automatisch

  • Ersteller Ersteller lollazzo
  • Erstellt am Erstellt am
super, sehr freundlich! Ich werde gleich nach der Datei sein, obwohl...... anstelle des retino vielleicht würde ich es nützlich finden, um eine Polylinie zu erstellen, ist es möglich?
 
super, sehr freundlich! Ich werde gleich nach der Datei sein, obwohl...... anstelle des retino vielleicht würde ich es nützlich finden, um eine Polylinie zu erstellen, ist es möglich?Sie haben Glück, weil das Programm vor der Berechnung der Fläche eine Polylinea erstellt, die dann ich Gate.
dann das Programm durch Setzen ändern; vor diesen 2 Zeilen.
die erste ist die, die das retino erzeugt, die zweite ist die, die die Polylinea löscht.
Wenn Sie morgen sie wiederherstellen möchten, entfernen Sie sie einfach;
Hi.


;(Befehl "_-bhatch" "_s" en "")*
;(Befehl "_erase" en ")")
 
Du hast Glück...
diese Liste gefunden haben und Sie so verfügbar :)

Danke noch mal!

ps. Ich berechne Flächen und Umkreise von vielen Räumen, die ich dann in Excel einfügen muss, gibt es eine Liste, die mir erlaubt, einen Tisch für jedes Zimmer mit Raumnamen zu erstellen (progressive Nummer, die der Reihenfolge der wie seleziono folgt), Fläche und Perimeter?
 
Ich berechne Flächen und Umkreise von vielen Räumen, die ich dann in Excel einfügen muss, gibt es eine Liste, die mir erlaubt, einen Tisch für jedes Zimmer mit Raumnamen zu erstellen (progressive Nummer, die der Reihenfolge der wie seleziono folgt), Fläche und Perimeter?
Diese Sache Revit hat es für ein Leben getan, aber Sie immer noch wagen, in Autocad zu arbeiten... bitte Sie
 
Diese Sache Revit hat es für ein Leben getan, aber Sie immer noch wagen, in Autocad zu arbeiten... bitte Sie
Guten Abend.

sind brandneu (erste Intervention). Ich weiß nichts über lisp Sprache. Ich unterschreibe ein sehr nützliches Werkzeug für mich (in diesen Seiten gefunden) an das ich einfach meinen Namen geändert habe. Ich möchte, dass es Werte in Quadratmetern und nicht in Punkten (Arbeit in mm und schreibt mich zum Beispiel 16000000 (4000x4000 Punkte) anstelle von 16 (qm). Ich glaube, es gibt eine Information wie "geteilte Punkte für 1000000!?
Danke.

(vl-load-com)
(defun c:totmq (/*error* dest i e ss ht suma oldzin pct prec val p1)

(oder acdoc (setq acdoc (vla-get-activedocument))))
(vla-startundomark acdoc)
(setq oldzin (getvar "dimzin")

(Defun *error* (msg)
(und msg (/= msg "Funktion storniert") (princ msg)
(setvar "dimzin" oldzin)
(vla-endundomark acdoc)
(princ)
)

(f)
(setq suma 0 ht 0 ss (ssget '(0 . "text")))))
(Progn)
(Repeat (setq i (sslength ss))
))))))))))))
ht (max. ht (cdr (assoc 40 e))
)
)
(princ "\nselect vorhandene Texteinheit zu ersetzen oder zu treffen geben Sie zweimal ein, um als neuer Text zu platzieren)
(setq dest (ssget ":e:s:l" ((0. "text")))))
(cond.
(setq Entitäten (vlax-ename->vla-object (ssname dest 0))
val (vla-get-textstring Institutionen)
)
(sofern (setq pct (vl-string-search "." val)) (setq prec (- (strlen val) pct 1))) (setq prec 0)
(falls (> prec 0) (setvar "dimzin") 1) (setvar "dimzin" 8)
(vla-put-textstring-Einheiten (rtos suma 2 prec))
)
(setq p1 (getpoint "\ntext position:"))
(entmake (list '(0 . "text") (cons 10 p1) (cons 40 ht) (cons 1 (rtos suma 2 4)))
;;;
)
)
)
)
(Drucksumme)
(princ)
)
 

Anhänge

die Fläche nicht in "Punkte" zurückgibt. es gibt keine "Punkt"-Einheit in autocad.
gibt den Wert in Quadrateinheit zurück
wenn Sie in mm arbeiten, ist die Fläche in mmq. wenn Sie in m arbeiten, ist die Fläche in Quadratmetern.
Auf der anderen Seite, wenn Sie sich richtig und aktuell verwenden die Verwendung von mm fühlen, sehe ich nicht, warum nicht drücken Sie die Fläche in mmq.

In allen Fällen muss die Änderung hier vorgenommen werden:
(entmake (list '(0 . "text") (cons 10 p1) (cons 40 ht) (cons 1 (rtos suma 2 4)))

wird
(entmake (list '(0 . "text") (cons 10 p1) (cons 40 ht) (cons 1 ( (Gesamtbriefe 2 4) 1000000)))
 
Danke Kristall!

Leider ist die Tatsache, dass ich in mm arbeiten, aber ich brauche die Größe in sq m ist eine Frage, die ich an meinen Arbeitgeber gestellt, aber das Problem ist mit der Komplexität der Geschäftstätigkeit verbunden (wir sind in verschiedenen, um die Hände auf die aufwendigen, jeder für ihre eigenen Bedürfnisse: Ich brauche Quadratmeter, auf andere mm.).
Ich bitte Sie um eine letzte Höflichkeit: Ich hätte die gleiche Notwendigkeit für die Datei, die ich jetzt trainiere. Können Sie mir sagen, wie Sie es korrigieren?
ANHANG Danke noch mal!

;; cadalyst 07/08 www.cadalyst.com/code ;;; Spitze 2292: arearon. lsp Bereich geschlossener Polylinien (c) 2008 ronald maneja (wizman)

;;; erzeugt Text, der Bereich ausgewählter geschlossener Polylinien enthält
;;; und legt sie in Flächenschicht
;;; erstellt von ron maneja 31jan08
;;; Benutzereingänge: Skala, Polyline Auswahl
;;

;;; Version 1.1 (09feb09): zusätzliche Fläche für Regionen, Spline, Kreis & Ellipse
;;

(Defun c:mq)
Alle
Alliierten
Gebietobj
Zähler
ctr
Elf
Bezeichnung
In den Warenkorb
Mysset
Vorbemerkung
p
Das ist ein gutes Beispiel.
temp
t
Scheitel
x
y
Alter
altsnap
Temperierung
Trapez
blpt
cir_center
el_center
max.
minpt
spl_center
Rind
)

(defun set_var)
(Setvar 'cmdecho 0)
(setq oldlayer (getvar "clayer")
(setq oldsnap (getvar "osmode"))
(setq temperr *error*)
(setq *error* traperror)
(setvar "osmode" 0)
)


(defun traperror (errmsg)
(Anweisung nil nil nil)
(falls (nicht (erinnern Sie errmsg '("console break" "Funktion storniert"))
)
(princ (strcat "\nerror: " errmsg))
)
(Befehl "_.undo" "_end")
(setvar "clayer" oldlayer)
(setvar "osmode" oldsnap)
(Setvar "cmdecho" 1)
(princ "\nerror resetting umgebung ")
(setq *error* temperr)
)



(defun reset_var)
(setq *error* temperr)
(setvar "clayer" oldlayer)
(setvar "osmode" oldsnap)
(Befehl "_.undo" "_end")
(Setvar "cmdecho" 1)
)

(vl-load-com)
(set_var)
(Befehl "_.undo" "_be")
(wenn (tblsearch "layer" "mq")
(Befehl "._layer" "_thaw" "mq" "_on" "mq" "_unlock" "mq" "_set" "mq" "") ;_ Befehl schließt
(Befehl "._layer" "_make" "mq" "_color" 1 "mq" "") ; Befehl schließt
)
(falls (null sch)
(setq sch 1.0)
)
(Initget 6)
(setq temp) (getreal (strcat "\nenter scale <)
(rtos sch 2 2)
"
)
)
)
(wenn es temp
(setq sch temp)
(setq temp sch)
)

(wenn (Null-Präzision)
(Setq Präzision 0)
)
(Initget 6)
(setq prec_temp
(getint)
(strcat "\nhow many decimal places?: <"
(Rußgenauigkeit 2 2)
"
)
)
)
(falls prec_temp
(Setq Präzision prec_temp)
(setq prec_temp Präzision)
)



(Prompt "\nselect geschlossene Polylines/Splines, Region, Kreis & Ellipse:> ")
(setq)
mysset (ssget '((-4). "<or") "<and")="" "and="" "lwpolyline")="" (-4="" (0="" (70="" .="" 1)="">"
(-4.)<and") "and="" "spline")="" (-4="" (0="" (70="" .="" 11)="">"
(0 . "Region")
(0. "Zirkel")
(0. "ellipse")
(-4 . "oder>")
)
)
Zähler 0
)
(wenn Mysset)
(Prog.)
(wenig)
(setq Entity-Name (Name Mysset-Zähler)
el (entget Entity-Name)
entnamevla (vlax-ename->vla-object Entity-name)
Gebietobj (vla-get-area entnamevla)
)
(cond)
(eq (cdr (assoc 0 el)) "lwpolyline")
(Prog.)
(setq allx 0)
Alles 0
ctr 0
1.
)
(Während)
(setq vertex (cdr (assoc 10 el))
ctr (+ ctr)
x (car vertex)
y (cadr vertex)
Allx (+ allx x)
Ally (+ ally y)
el (cdr (Mitglied (assoc 10 el) el))
)
)
(setq x (/ allx ctr)
y (/ Ally ctr)
pt (Liste x y)
)
(Befehl "_text"
"_j"
"_mc"
p
(* sch 2.5)
"0"
(rtos areaobj 2 Präzision)
)
)
)
((eq (cdr (assoc 0 el)) "region")
(setq reg_centroid)
(vlax-safearray->list
(vlax-varianter Wert)
(vla-get-centroid entnamevla)
)
)
)
(Befehl "_text"
"_j"
"_mc"
Das ist ein gutes Beispiel.
(* sch 2.5)
"0"
(rtos areaobj 2 Präzision)
)
)

(eq (cdr (assoc 0 el)) "circle"
(setq cir_center)
(vlax-safearray->list
(vlax-varianter Wert)
(vla-get-center entnamevla)
)
)
)
(Befehl "_text"
"_j"
"_mc"
cir_center
(* sch 2.5)
"0"
(rtos areaobj 2 Präzision)
)
)

(eq (cdr (assoc 0 el)) "ellipse")
(setq el_center)
(vlax-safearray->list
(vlax-varianter Wert)
(vla-get-center entnamevla)
)
)
)
(Befehl "_text"
"_j"
"_mc"
el_center
(* sch 2.5)
"0"
(rtos areaobj 2 Präzision)
)
)

(eq (cdr (assoc 0 el)) "Spline")
(vla-getboundingbox entnamevla 'minpt 'maxpt)
(setq blpt (vlax-safearray->list minpt)
trpt (vlax-safearray->list maxpt)
)
(setq spl_center)
(mapcar '* '(0.5 0.5 0.5) (mapcar '+ blpt trpt))
)
(Befehl "_text"
"_j"
"_mc"
spl_center
(* sch 2.5)
"0"
(rtos areaobj 2 Präzision)
)
)
)
(Setq Zähler (+ Zähler 1))
)
)
(alert "\nno geschlossen Polylines/lwpolylines/Splines in Ihrer Auswahl)
)
)
(reset_var)
(princ)

)
(Prompt "'\n>>>>...arearon.lsp wird jetzt geladen, Typ 'mq' zum Starten des Befehls...<<)
(princ)</and")></or")>
 

Anhänge

das retino hat die Funktion, das Flächenobjekt der Berechnung visuell hervorzuheben.
Bereiche können mehr als eine sein (die Programmsummen).
der kontinuierliche retino hat den Fehler, dass Sie nicht verstehen, wenn ein Bereich 2 mal geklickt wurde.
für diese Tatsache modifizierte ich das Programm mit einem gestreiften Retino, dessen Neigung zu jedem clik variiert.
also, wenn Sie 2 mal einen Bereich anklicken, sehen Sie die doppelte Netzhaut.
Ich denke, es ist notwendig.
wenn Sie nicht zeichnen wollen, ist es genug, um die Linie zu ersetzen
(Befehl "_-bhatch" "_s" en "") mit
;(Befehl "_-bhatch" "_s" en "") (auf diese Weise wird diese Zeile zu einem einfachen Kommentar und wird nicht ausgeführt)
Ich schicke Ihnen die neue Liste
Hi.



; a2.lsp berechnet den Bereich und Umfang von mehreren Zahlen
; weich. betoniera - autocad 2014

(Defun c:a2 ()
(Prompt "\n ")
(setq n (getvar "useri1")
(cond)
((= n 0); Einheit cm
(Setq um "cm" Coef 100)
)
((= n 1); Einheit mm
(setq um "mm" coef 1000)
)
((= n 2); Einheit m
(setq um "m" coef 1)
)
;

(falls ht1 nil (setq ht1 5)
(falls retino-ds nil (setq retino-ds 5) ;
(setq sc)
ort (getvar "orthomode")
osm (getvar "osmode")
b (Strkat "\nheight text in mm <" (rtos ht1) ">: ")
ht (getreal b)
(rtos retino-ds) "
ds (getreal a)
Angr 0
)

(falls ht nil (setq ht ht1); Texthöhensteuer;
(falls (/= ds nil) (setq retino-ds ds))
(setq ds1 (* retino-ds sc 0.1)
ht (* ht (getvar "dimscale") 0,1
g


0)
)

(Befehl "_color" 7)
(Befehl "_setvar" "hpname" "_u")
(Befehl "_setvar" "hpspace" ds1)
;(Befehl "_setvar" "hpang" angr)
(Befehl "_setvar" "textsize" ht)
(Befehl "_setvar" "orthomode" 0)
(Befehl "_setvar" 0)

;loop, von dem nur zurückkehrt
(nicht (eq str)
(setq p1 (getpoint "\nimmetti point "))
(setq angr (+ angr 45))
(Befehl "_setvar" "hpang" angr)
(cond)
(=p1 nil)
(setq str ") ;
)
;
(cond)
(/= p1 nil)
(setq p2 p)
(Befehl "_-boundary" p1 ")
(setq en (entlast)
(Befehl "area" "_o" "_l")
(setq ar1 (/ (getvar "area") coef coef coef)
(setq ar (+ ar))
(setq pe1 (/ (getvar "perimeter") coef
(seq pe (+ pe))
(Befehl "_-bhatch" "_s" en "")
(Befehl "_erase" en ")
)
;
;

(Befehl "_color" 3)
(Befehl "_text" "_j" "_c" p2 "" 0 (Strcat "area mq " (rtos ar) " perimeter m " (rtos pe))))
(Befehl "_setvar" ort)
(Befehl "_setvar" osm)
(Befehl "_move" "_l" p2)
)
Guten Morgen.

ist es möglich, nur den Wert der Fläche in mm einzufügen? Ich brauche kein Netz und einen Umkreis. Kannst du den Befehl ändern?

Danke.
 
Tschüss.

Dieses Programm wurde von einem komplexeren Lisp-Verfahren abgeleitet, bei dem die Fläche immer in Quadratmetern restauriert wurde, unabhängig von der Maßeinheit, die im Design angenommen wurde.
dann habe ich es überprüft und es ein bisschen gereinigt, um Ihren Anforderungen anzupassen.
In Anbetracht, dass Sie in mm arbeiten, habe ich das Programm wie folgt geändert:
fragt:
- Höhe des Textes in mm (in Druck im Zeichenmaßstab)
- Skalenfaktor pro Fläche (1 pro mm2, 10 pro cm2, 1000 pro m2). Dies gibt den Bereich auf den gewünschten Antrieb zurück und kann für die Off-Skala-Details verwendet werden, indem der richtige Faktor gesetzt wird.
- Ich entwerfe den Retino? auf Ihre Anfrage Ich setze "n" standardmäßig, aber wenn Sie "s" setzen, können Sie es immer drucken. Aufmerksamkeit, weil das Programm die Bereiche zusammenfasst und, wenn Sie das Netz nicht setzen, sehen Sie die betroffenen Bereiche nicht. Darüber hinaus, wenn Sie 2 mal auf den gleichen Bereich klicken, bemerken Sie es nicht (das Retino statt bemerken Sie, warum die Netzhaut Winkel bei jedem Klick ändert).
Ich habe die Beweise gemacht und es sollte funktionieren, wenn wir es nicht reparieren.
die Datei lesen ( laden "a3") und dann können Sie die Funktion mit a3 Befehl verwenden
Hi.
 

Anhänge

Tschüss.

Dieses Programm wurde von einem komplexeren Lisp-Verfahren abgeleitet, bei dem die Fläche immer in Quadratmetern restauriert wurde, unabhängig von der Maßeinheit, die im Design angenommen wurde.
dann habe ich es überprüft und es ein bisschen gereinigt, um Ihren Anforderungen anzupassen.
In Anbetracht, dass Sie in mm arbeiten, habe ich das Programm wie folgt geändert:
fragt:
- Höhe des Textes in mm (in Druck im Zeichenmaßstab)
- Skalenfaktor pro Fläche (1 pro mm2, 10 pro cm2, 1000 pro m2). Dies gibt den Bereich auf den gewünschten Antrieb zurück und kann für die Off-Skala-Details verwendet werden, indem der richtige Faktor gesetzt wird.
- Ich entwerfe den Retino? auf Ihre Anfrage Ich setze "n" standardmäßig, aber wenn Sie "s" setzen, können Sie es immer drucken. Aufmerksamkeit, weil das Programm die Bereiche zusammenfasst und, wenn Sie das Netz nicht setzen, sehen Sie die betroffenen Bereiche nicht. Darüber hinaus, wenn Sie 2 mal auf den gleichen Bereich klicken, bemerken Sie es nicht (das Retino statt bemerken Sie, warum die Netzhaut Winkel bei jedem Klick ändert).
Ich habe die Beweise gemacht und es sollte funktionieren, wenn wir es nicht reparieren.
die Datei lesen ( laden "a3") und dann können Sie die Funktion mit a3 Befehl verwenden
Hi.
Vielen Dank.

Ich hätte einige Anträge, wenn es möglich wäre:
- können Sie eine Standardtexthöhe einstellen, ohne sie zu benötigen, wenn ich den Befehl "a3" anrufe?
- können Sie den Wert des "Flächenmaßfaktors" in mm2 einstellen, ohne dass es erforderlich ist, wenn ich den Befehl "a3" anrufe?
- können Sie die "retino"-Frage entfernen und/oder durch ein temporäres Highlight der Region ersetzen (ähnlich bei der Erstellung einer Region oder mit dem Befehl "misurageom"/Objekt"?

Dieser Befehl muss den Wert des Bereichs eines Bereichs kopieren, in eine Tabelle einfügen, dann die Dicke des Stücks aufzwingen und das Gewicht berechnen.
Ich kopiere dann den Gewichtswert und transcribe es in autocad (siehe Bild "Gewichtsregionen).

an diesem Punkt, können Sie einen Lsp erstellen, dass Sie mich diesen String automatisch füllen?
- Region auswählen oder Region erstellen
- eingestellte Dicke
- Anzahl der Stücke eingestellt
- Set Materialart, die s355j0, w700, hb400, hb450, hb500 sein kann
- die Fläche des Bereichs x die Dicke x das spezifische Gewicht (immer 0,0000078) multiplizieren und das Ergebnis automatisch durchschreiben
- multiplizieren Sie das Gewicht eines einzelnen Stückes nach Menge und automatisch durchlaufen das Ergebnis.

all dies, um den folgenden Text zu erhalten (Zahlen 21 und 22 sind nicht Teil der Berechnung)Anhang anzeigen 5746Vielen Dank
 

Anhänge

  • pesi regioni.jpg
    pesi regioni.jpg
    19,7 KB · Aufrufe: 80
Dieser Befehl muss den Wert des Bereichs eines Bereichs kopieren, in eine Tabelle einfügen, dann die Dicke des Stücks aufzwingen und das Gewicht berechnen.
Ich kopiere dann den Gewichtswert und transcribe es in autocad (siehe Bild "Gewichtsregionen).
Tschüss.
Es ist ein unnötig kompliziertes Verfahren.
Sie können alles im Autocad tun, ohne zu gehen.
paradoxerweise erklären Ihre Anfragen das Programm.
Wir haben Zeit, also hatte ich eine gute Zeit, das Programm einzurichten, das Sie natürlich testen müssen.
das Programm funktioniert in endlosen Zyklus, bis Sie esc drücken
Fragen:
- Dicke
- Anzahl Stücke
- Material
- Bereich
- schriftlicher Punkt
sobald Sie die Daten schreiben, wenn Sie esc nicht drücken, können Sie mit einem anderen Stück wiederholen.
wenn die Texthöhe nicht korrekt ist, müssen Sie die Anleitung ändern. "ht 5" mit dem neuen Wert (in mm).
Hi.
 

Anhänge

Dieser Befehl muss den Wert des Bereichs eines Bereichs kopieren, in eine Tabelle einfügen, dann die Dicke des Stücks aufzwingen und das Gewicht berechnen.
Ich kopiere dann den Gewichtswert und transcribe es in autocad (siehe Bild "Gewichtsregionen).
Tschüss.
Es ist ein unnötig kompliziertes Verfahren.
Sie können alles im Autocad tun, ohne zu gehen.
paradoxerweise erklären Ihre Anfragen das Programm.
Wir haben Zeit, also hatte ich eine gute Zeit, das Programm einzurichten, das Sie natürlich testen müssen.
das Programm funktioniert in endlosen Zyklus, bis Sie esc drücken
Fragen:
- Dicke
- Anzahl Stücke
- Material
- Bereich
- schriftlicher Punkt
sobald Sie die Daten schreiben, wenn Sie esc nicht drücken, können Sie mit einem anderen Stück wiederholen.
wenn die Texthöhe nicht korrekt ist, müssen Sie die Anleitung ändern. "ht 5" mit dem neuen Wert (in mm).
Hi.
Du bist ein Genie!

Es funktioniert sehr gut, das einzige Problem entsteht, wenn ich ein Stück mit einem Loch oder einer Tasche wiegen muss, weil ich nicht weiß, warum es nicht die Subtraktion der Bereiche betrachtet. ist es möglich, es zu perfektionieren?

Ich frage Sie eine letzte Sache, können Sie den Wert des Bereichs ohne die Dezimals einfügen?

Vielen Dank
 
das einzige Problem entsteht, wenn ich ein Stück mit einem Loch oder einer Tasche wiegen muss, weil ich nicht weiß, warum es nicht die Subtraktion der Bereiche betrachtet. ist es möglich, es zu perfektionieren? wenn es ein Loch gibt, müssen Sie eine kleine Linie zwischen dem Loch und der Außenseite setzen, so dass Autocad nicht den geschlossenen Bereich im Freien findet und auch das Loch betrachten
prova679.jpg


Ich frage Sie eine letzte Sache, können Sie den Wert des Bereichs ohne die Dezimals einfügen? Sicher: wir machten 30 wir auch 71
nur, dass in a4.lsp der Bereich nicht geschrieben ist.
Möchten Sie das gesamte Gewicht schreiben?
Hi.
 
das einzige Problem entsteht, wenn ich ein Stück mit einem Loch oder einer Tasche wiegen muss, weil ich nicht weiß, warum es nicht die Subtraktion der Bereiche betrachtet. ist es möglich, es zu perfektionieren? wenn es ein Loch gibt, müssen Sie eine kleine Linie zwischen dem Loch und der Außenseite setzen, so dass Autocad nicht den geschlossenen Bereich im Freien findet und auch das Loch betrachten
prova679.jpg


Ich frage Sie eine letzte Sache, können Sie den Wert des Bereichs ohne die Dezimals einfügen? Sicher: wir machten 30 wir auch 71
nur, dass in a4.lsp der Bereich nicht geschrieben ist.
Möchten Sie das gesamte Gewicht schreiben?
Hi.
Hi.
Ich möchte, dass die 28.86 29 werden und sogar für die Summe ohne Dezimals.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben