Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Insert Befehl gibt generell 0.00 Wert in Attribut

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:  Insert Befehl gibt generell 0.00 Wert in Attribut (1276 mal gelesen)
cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 10. Mrz. 2015 15:42    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

Hat jemand eine Ahnung, welche systemvariable dahinter steckt

(command "insert" "plushöjd" (getpoint "\nSelect a point") 1 1 0 "12.25")

Beispiel mit einem Block, der ein Attribut mit einer Höhenangabe besitzt
Mein kollege bekommt halt nur 0.00 angezeigt
attdia <0>
attreq <1>
...

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 10. Mrz. 2015 16: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 cadplayer 10 Unities + Antwort hilfreich

vielleicht ist der Block so deffiniert, dass nur gleichmäßige Skalierung zugelassen ist. Dann wird nur EIN Faktor abgefragt (1. "1", das makro gibt für den Drehwinkel 1 (2. "1") ein, und der Wert fürs Attribut 0.

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 10. Mrz. 2015 16:11    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 cadplayer 10 Unities + Antwort hilfreich

oder das Attribut ist auf Vorwahl gestellt mit dem Vorgabewert 0.00

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 10. Mrz. 2015 19:11    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 cadplayer 10 Unities + Antwort hilfreich

Das attrib ist schon mit einem vorgabewert 0.00 definiert
mich wundert es nur, das bei mir es funktioniert
mir ist schon klar, dass der block beim kollegen falsch
gefüllt wird.
ich habe seine Datei geöffnet - funktioniert. bei ihm
kommen nur nuller werte ausgedruckt

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed

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: 10. Mrz. 2015 19:36    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 cadplayer 10 Unities + Antwort hilfreich

Vorwahl und prüfen sind Blocksache, das kann man nur noch durch Attreq beeinflussen.

Also muß man eine der Aussagen in Frage stellen.

Da bei dieser einen Commandzeile in einem der beiden Fälle ein unbekannter Befehl geschickt werden würde, würde mich nun interessieren warum du davon nichts schreibst?

Wäre ja bei deinem Kollegen der Fall da der Insert-Befehl bereits abgeschlossen ist.

Gehst du die Sache wirklich in der Befehlszeile an und erhälst unterschiedliche Ergebnisse und nie ein unbekannter Befehl?
Ich kann es nicht glauben.
In der Hitze des Gefechts testet du nicht mit der Zeile die du gepostet hast (beim Kollegen)

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

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 11. Mrz. 2015 07: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

Hi!
Die angegebene Codezeile testete mein Kollege und bekam die Rückmeldung "unbekannter Befehl 25".
Wie ihr sagt, der command-Befehl wurde bereits beedendet, bevor überhaupt der Attributwert eingefügt werden konnte.
Mir ist das insofern fremd, da bei allen Rechnern dieser Aufruf einwandfrei ausgeführt wird.
Ich möchte einfachhalber selbiges Problem an meinem Rechner simulieren. Dazu war mein erster Gedanke, es könnte evtl an einer anderen Sysvar liegen, wie ATTREQ oder ATTDIA

Simuliert sieht es folgendermassen aus.
Nur habe ich bei meinen Kollegen gecheckt, ob der Attributwert voreingestellt ist - Nein
Erklärungsversuch

[Diese Nachricht wurde von cadplayer am 11. Mrz. 2015 editiert.]

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 11. Mrz. 2015 07: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 Nur für cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,
nur ein Gedankenansatz. Wäre es nicht viellicht sinnvoll, vor dem Command-Insert Befehls ATTREQ auf 0 zu stellen, und nach dem Command die ATTRIBUTE des ENTLASTen Objektes über den Attributnamen anzusprechen und mit Entmod oder vla-put-TextString zu ändern?

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Bäume stutzen Youtube

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: 11. Mrz. 2015 07:39    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 cadplayer 10 Unities + Antwort hilfreich

Ouups

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

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 11. Mrz. 2015 07:50    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

Danke für alle Vorschläge

Jörn, deinen Vorschlag.

Code:
(defun c:xx()
  (setvar "ATTREQ" 0)
  (command "insert" "plushöjd" (getpoint "\nSelect a point") 1 1 0)
  (if (= "ATTRIB" (cdr (assoc 0 (entget (setq attrib (entnext (entlast)))))))
    (vla-put-TextString (vlax-ename->vla-object attrib) "0.75")
    (princ "\n*** Error")
    )
  (setvar "ATTREQ" 1)
  )

werde ich heute mal nachgehen.

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed

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: 11. Mrz. 2015 07:50    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 cadplayer 10 Unities + Antwort hilfreich

So, nun noch mal:

Nein, der Command wird natürlich nicht vorher beendet, aber der INSERT-Befehl, der
Command schiebt dann deine 12.25 hinterher und weil Acad ja in keinem Befehl ist, wird
versucht deine 12.25 als Befehl zu interpretieren. 12.25 ist aber nicht als Befehl bekannt.

Video:
Du zeigst das ganz normale Standardverhalten, wolltest du nicht zeigen wie es schief läuft  
Also beim Kollegen mit ATTREQ-Abfrage im Video (oder setzen der Variable direkt im Command)


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

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 11. Mrz. 2015 08:35    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

Ja ich glaube, ich habe die Ursache gefunden.
Die Ursache liegt bei der Sysvar ATTREQ, die irgendwie nicht richtig anspricht beim Kollegen.
Obwohl sie mit 1 deklariert ist, bekommt er angezeigt
Code:
Select a point
Enter X scale factor, specify opposite corner, or [Corner/XYZ] <1>: 1 Enter Y scale factor <use X scale factor>: 1
Specify rotation angle <0>: 0
Command: 12.25 Unknown command "25".  Press F1 for help.

Die Lösung von dir Jörn, hat da geholfen.
Ich muss also den command-Aufruf entsprechend abändern oder gibt es vielleicht noch eine einfachere Lösung ?
Es sind quasi mehrere Programmodule, bei denen ich die Blockattribute bediene ?!

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed

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: 11. Mrz. 2015 08:49    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 cadplayer 10 Unities + Antwort hilfreich

Klar, statt es "irgendwie" zu machen würde ichder Attreq-Sache auf den Grund gehen und damit wir auch was zu staunen haben: Mach doch davon mal ein Video!!

(command "ATTREQ" 1 "ATTDIA" 0 "_.insert" "plushöjd" (getpoint "\nSelect a point") 1 1 0 "12.25")


PS: Imho stolperst du wieder über eigenen Codesalat und auf Acadseite ist alles ok.
Ich behaupte sofort das Gegenteil wenn ein Video mit obiger Zeile kommt in welchem man dazu
die Attdef-Eigenschaften sieht.

Aber zurück zur zielführenden Antwort:

Wenn du das Programm in den Griff bekommst, dann crasht es beim Nächsten oder Übernächsten Block,
einfach weil der definiert wurde mit "einheitlich skalieren" usw.

Wenn du die Block geschichte im Griff haben möchtest, dann muß du selbst programmieren und dich
nicht der AutoCAD-Befehle bedienen.

Also ENTMAKE nutzen statt dem AutoCAD-Befehl Einfüge.

PS: Bitte verwende doch immer die internationale Schreibweise in deinen Codeschnipseln,
du wirst nicht mehr Helfer erreichen in denen du erst mal unnötig arbeitet bereitest
nur um den Code testen zu können. Also "_.INSERT" und nicht "INSERT", (ssget "_X") und nicht (ssget "X") usw. VIELEN DANK von allen Hilfewilligen.   

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

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 11. Mrz. 2015 10:11    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

Ok
Ich warte noch auf Rückmeldung auf meinen Kollegen. Was bei der Codezeile ausgegeben wird.

Normalerweise und das hatte ich bei ihm getestet, sind die sysvar so definiert  "ATTREQ" 1 "ATTDIA" 0 "
Ich hatte es nur nicht expliziet in den Funktionen gemacht.
Also, das habe ich jetzt bereinigt - mal sehen ob noch was witziges kommt

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 11. Mrz. 2015 11:22    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

Also es gibt nichts zu lachen - ausser dass ich nur eure wertvolle Zeit beraubt habe.
Mein erster Test am Rechner meines Kollegen ergab bei der Abfrage der sysvar
"ATTREQ" 1 "ATTDIA" 0 " und das ist richtig für den command-Befehl

Allerdings muss es irgendwie, die Variable bei Ausführung des Befehls umgestellt haben
also ATTREQ<0> und dann lief der Befehl commmand "_insert" nicht richtig

Es reichte aus, die Variablen bei Programmaufruf nochmals zu setzen (entsp. wie o.g)
Es ist mir völlig unerklärlich - aber so sind die Dinge vielleicht manchmal, dass etwaas
umstellt, ohne es befehlt zu haben.

Danke an alle!

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed

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