block bearbeiten

block bearbeiten

uvraumin_li
Participant Participant
905 Views
8 Replies
Message 1 of 9

block bearbeiten

uvraumin_li
Participant
Participant

guten tag

wieso funktioniert das bearbeiten des eingefügten blocks nicht. was habe ich falsch gemacht?

 

----------------------------------

 

(defun c:uv_Detail_01 ( / )


(command "-layer" "se" "0" "" )
(command "osmode" "0" )
(command "-einfüge" "//srv-fs01/ConfigCAD/All-CAD/Z/bib_ko/S_Pla/Detail_1.dwg" pause "" "" "")
(command "ursprung" "le" "" )
(command "-attedit" "l" )

;(hier bleibts immer stecken)
(command "osmode" "223" )
(command "-layer" "se" "0" "" )


)

 

-----------------------------------------------

0 Likes
906 Views
8 Replies
Replies (8)
Message 2 of 9

cadffm
Consultant
Consultant

Hi,

 

1. Das Problem fängt bereits direkt nach URSPRUNG an,

    die URSPRUNG Sequenz ist bei dir falsch da der Befehl nur ein Objekt erwartet (siehe Hilfe, der Befehl funktioniert im Makro anders wie von Hand gestartet)

 Wenn du ohnehin nur ein Objekt auflösen möchtest, so entferne das Enter"" welches du sendest um die Objektwahl abzuschließen (das wäre so korrekt "per Hand", aber nicht im Makro).

 Schau es dir mal an: CMDECHO auf 1 stellen, dann dein Lisp ausführen, Blick in das Textfenster [F2] und du siehst das bei/nach URSPRUNG bereits etwas schief läuft.

 

2. Du fügst eine DWG als Block ein und löst diese dann auf um eine darin befindliche Blockreferenz zu bearbeiten(mit attedit)?

    Das klingt recht unsinnig - ohne die Daten und Hintergründe zu kennen aber recht problematisch zu beurteilen - zugegeben, Warum gehst du diesen Weg?

   Wäre schön wenn du erklärst was in der DWG enthalten ist - vielleicht kannst du die DWG zur Verfügung stellen?

   [An der Stelle könnte ich erklären warum das im ersten Moment ungünstig erscheint, aber mit dienen Daten würden ich mir viel unnötige Tipparbeit sparen]

   Man kann den Inhalt einer DWG auch direkt aufgelöst einfügen(siehe Hilfe),

   wenn man danach aber mit -Attedit dran möchte, dann erscheint mir eine DWG als Blockdefinition aber noch sinniger.

   Wie gesagt: Ohne die Daten und Hintergründe ist das nur eine wahrscheinliche Annahme.

 

3. -ATTEDIT l

  Was soll das für eine Option l sein?

   Starte den Befehl einmal per Hand -> Acad fragt nach dem Start ob man die Attribute einzeln bearbeiten möchte,

  gültige Antwort darauf ist J N Ja Nein, aber eine Option l gibt es nicht..

 

 

<editiert>

Sebastian

0 Likes
Message 3 of 9

uvraumin_li
Participant
Participant

guten tag

einfach gesagt möchte ich die details so beschriften wie im film. d.h. detail_1, usw. so dass der name detail immer gleich bleibt und die nur nummerierung beim einfügen geändert werden kann. wie im film ersichtlich gibt es beschriftungen die z.b. 4x detail_2 heissen, anschliessend kommt dann detail 3, usw.

 

 

0 Likes
Message 4 of 9

uvraumin_li
Participant
Participant

guten tag

konnten sie schon etwas rausfinden?

0 Likes
Message 5 of 9

cadffm
Consultant
Consultant

Alles wie ich bereits geschrieben habe!

Da keine Rückmeldung zu meinen Anmerkungen kamen schien es nicht mehr wichtig.

 

 

Sebastian

0 Likes
Message 6 of 9

uvraumin_li
Participant
Participant

sorry, ich habe umhegend zurückgeschrieben. haben sie die infos nicht bekommen?

0 Likes
Message 7 of 9

Anonymous
Not applicable

@uvraumin_li  Try this:

(defun c:DEMO ( / ndetail )
	(setvar 'clayer "0") ;set the layer to "0"
	(setq ndetail (getint "\nNumber inicial do detalhe:")) ;ask the user for the number of details
	(if (command "_.Insert" "ALLCAD_Nummer_021_Detail_5.00" "\\" "" "" "" (strcat "Detail_" (rtos ndetail 2 0))) ;If the block already exists in your drawing
		(command "_.-Insert" "d:\\ .....") ;if you don't type the path
	)
	(setvar 'osmode 223) ;set osmode to 223
	;;(setvar 'clayer "0") ;layer to be restored
  (princ)
)

 

This is very shallow and bad !!!
But I will use what little I know to try to help you. (I know how bad it is to learn.)

Imagine the situations:

  •   You cancel the code halfway ??? -It would be interesting to restore the precision tools and layes !!
  •   If the block does not exist in your drawing or in the search path ?? -It would be nice to have an alert for that !!
  • Why not remember the last detail inserted ??
  • Why not increase the number of details in a loop?
0 Likes
Message 8 of 9

uvraumin_li
Participant
Participant

guten tag

das makro funktioniert nur wenn der block bereits in der zeichnung ist, sonst leider nicht. was mache ich falsch?

 

------------------------------------

 

(defun c:DEMO ( / ndetail )
(setvar 'clayer "0")
(setvar 'osmode 0)
(setq ndetail (getint "\Detailnummer angeben:")) ;Anzahl Details
(if (command "_.Insert" "ALLCAD_Nummer_021_Detail_5.00" "\\" "" "" "" (strcat "Detail_" (rtos ndetail 2 0))) ;If the block already exists in your drawing

;(if (command "_.Insert" "//srv-fs01/ConfigCAD/All-CAD/Z/bib_ko/S_Pla/Detail_1.dwg" "\\" "" "" "" (strcat "Detail_" (rtos ndetail 2 0))) ;If the block already exists in your drawing
;(if (command "_.Insert" "//C/user/urs_vorburger/Documents/Detail_1.dwg" "\\" "" "" "" (strcat "Detail_" (rtos ndetail 2 0))) ;If the block already exists in your drawing

 


(command "_.-Insert" "d:\\ .....") ;if you don't type the path
)
(setvar 'osmode 223) ;set osmode to 223
;;(setvar 'clayer "0") ;layer to be restored
(princ)
)

 

(princ "\nEinstellung Menue von Urs ")

 

--------------------------------------------------------------

 

 

0 Likes
Message 9 of 9

uvraumin_li
Participant
Participant

guten tag

können sie mir nochmals helfen gemäss meinem Mail von gestern?

0 Likes