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

Bearbeiten Sie eine lisp und aktualisieren Sie Block-Attribute

  • Ersteller Ersteller battiesgiuscia
  • Erstellt am Erstellt am

battiesgiuscia

Guest
hallo alle!
haben 2 fragen, um sie experten zu stellen!

1-ich erstellte einen dynamischen block mit einem attribut (z.b. name)
jetzt aber brauche ich andere attribute, um in den erstellten block einzufügen! !
wie machst du das?
ich habe versucht, das attribut mit dem blockeditor hinzuzufügen, ich stelle es ein, speichern sie es, aber wenn ich es zurückrufe, hat es immer nur einen!
was soll ich tun?

2-ich habe eine kostenlose "scrividp"-spule heruntergeladen, diese lispe legt die länge eines polylinea auf eine schicht, sehr nützlich, aber ich möchte eine änderung!
die lispe bringt mir die verschiedenen längen der verschiedenen segmente der polylinea, während sie mir die gekettete messung, also die summe der längen der verschiedenen segmente in jeder ecke der polylinie dienen würde.

ich weiß nicht, ob ich es erklärt habe!

in der praxis muss ich jetzt die handsumme der verschiedenen längen tun!
 
ok ich konnte den block mit anderen attributen ändern!

aber da ist etwas!!
ich hatte bereits die blöcke benutzt, in die bereits gemachten zeichnungen zu gehen, zeigt mir nicht die hinzugefügten attribute, nur die der ersten schöpfung.

sollte der designblock nicht aktualisiert werden? ?
wie kann ich die bereits gemachten zeichnungen aktualisieren?
dank allen
 
ok ich konnte den block mit anderen attributen ändern!

aber da ist etwas!!
ich hatte bereits die blöcke benutzt, in die bereits gemachten zeichnungen zu gehen, zeigt mir nicht die hinzugefügten attribute, nur die der ersten schöpfung.

sollte der designblock nicht aktualisiert werden? ?
wie kann ich die bereits gemachten zeichnungen aktualisieren?
dank allen
aus dem online-guide:
befehl Synat
aktualisierungen blockreferenzen mit neuen und modifizierten attributen bestimmter blockdefinitionsincatt (schnelle empfehlung) die namen der zu aktualisierenden blöcke mit den für die blöcke definierten aktuellen attributen sind erforderlich.
verwenden sie diesen befehl, um alle instanzen eines blocks zu aktualisieren, der redefine attribute mit blockbefehlen oder modifbloc enthält. sincatt ändert keinen wert, der den attributen in bestehenden blöcken zugeordnet ist.
beachten sie den befehl attredef, um die blöcke mit einem befehl neu zu definieren und zu aktualisieren.

se si digita ? eine liste aller designblockdefinitionen wird angezeigt. geben sie den blocknamen ein, den sie aktualisieren möchten.
durch senden können sie das zeigegerät verwenden, um den block auszuwählen, den sie die attribute aktualisieren möchten.
wenn ein vorgegebener block keine attribute enthält oder keine fehlermeldung existiert, wird eine fehlermeldung angezeigt und aufgefordert, einen anderen block anzugeben.
warnung: attredef entfernt änderungen des formats oder der eigenschaften, die mit editatt- und modifattbl-befehlen gemacht werden. darüber hinaus löscht sie alle mit dem block verbundenen daten und kann auswirkungen auf dynamische blöcke und blöcke von drittanbieter-anwendungen erstellt haben.
 
für meinen zweiten punkt haben sie ein paar tipps!


ich habe ein auslegen mit förderbändern, also motoren, sensoren und fotozellen, und ich sollte die länge der kabel berechnen, nach dem rücken des kanals, den ich am rand des bandes eingefügt habe!
nun, wie jetzt, skalenform, ich habe einen herrscher und tun alle handmessungen, aber wird es einen weg, es in autocad zu tun? ?

ich versuchte, eine polylinea zu schaffen, dann eigenschaften und gibt mir die länge, oder mit dem herrscher, aber es ist ein wenig unangenehm als methode, wenn sie haben 100 motoren und 300 sensoren!

ich glaube, ich brauche diese funktion.
ich weiß nicht, mit einer polylinie, an jedem punkt, wo der interrupt markiert mir die maßnahme, dann die gleiche linie zu dem nächsten punkt, den ich die geänderte länge schreiben, das ist die länge der ersten + das neue stück!

vielen dank!
ihre kommentare
 
Gehen Sie zurück und sagen Sie mir, die Polylinie vom Ende zu brechen, so dass Sie bereits die exakten Progressiven haben. Sie haben beispielsweise eine Polylinie von 8 Vertices in Polylinea-Eigenschaften finden die Länge dann brechen die Polylinea im 7. und in den Eigenschaften haben Sie eine neue Länge und so weiter bis zum 2. Vertex
 
ohne Polylinea zu brechen, können Sie folgende Routine verwenden:
Polylinea wird ausgewählt und nach dem Anklicken der verschiedenen vorgeschlagenen Punkte. die Längen der Polylinienzüge zwischen dem Anfangsgipfel und den ausgewählten Punkten hervorgehen.
Code:
(defun c:calclun (/ Kranpunkt Lunge)
(vl-load-com)
(wenn (Setq-Kran(sget "_+.:e:s"(0 . "lwpolyline")))))
(while (setq point(getpoint "\another polyline point: ")
(falls
(Progn)
(setq lungh (vlax-curve-getdistatpoint (vlax-ename->vla-object (Name Kran 0)) Punkt))
(princ (strcat "\nlunghezza zum Punkt geklickt: (rtos lungh))(princ)
)
)
)
)
)
es wird fast auf das Maximum vereinfacht, ohne sogar den Fehler zu verwalten, wenn man einen Punkt außerhalb der Polylinie befindet.
 

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