CADsite forum

AutoCAD => Autolisp => Topic gestart door: Hepa op zo 04 12 2016, 21:08:44

Titel: Automatically Label Attributes deel 2
Bericht door: Hepa op zo 04 12 2016, 21:08:44


Beste van deze eerdere topic had ik graag jullie hulp voor het volgende.
Ik gebruik in de model space een blok die zijn ID nummer automatisch verhoogd als er een nieuwe blok in de model space wordt toegevoegd. Dus van 1.1, 1.2, 1.3 ........etc. In de paper space maak ik gebruik van een tekst blok die ook op hetzelfde manier zijn ID automatisch verhoogd. Dus ook van 1.1, 1.2, 1.3 ......etc.
De nummers in de paper space verwijzen naar de nummers in de model space.

De vraag is het volgende. Is er een manier om een link te kunnen maken tussen deze twee blokken?
Zodat als nummer 1.1 of een ander nummer verwijderd wordt van de model space of paper space dat de overgebleven nummer 1.1 ook automatisch verwijderd wordt? Dus als 1.1 op paper space verwijderd wordt dat nummer 1.1  op de model space ook verwijderd wordt. Enzovoorts.
Titel: Re: Automatically Label Attributes deel 2
Bericht door: roy_043 op di 06 12 2016, 10:29:28
Voorgeschiedenis 1:
Voor deel 1 zie: http://www.cadsite.be/smf/index.php?topic=6335.0

Voorgeschiedenis 2:
Je hebt mij hierover kortgeleden een PM gestuurd en ik heb jou aangeraden dit probleem aan het forum voor te leggen.

In mijn reactie heb ik al wel twee mogelijke oplossingen genoemd:
1.
Gebruik groups.
De informatie dat de te koppelen objecten in MS en PS staan is nieuw, om die reden valt deze oplossing af.
2.
Gebruik een op reactors gebaseerd Lisp-programma.
Deze oplossing is veel moeilijker dan de eerste.

Ik heb en ken geen bestaande Lisp-oplossing hiervoor, maar mogelijk kennen anderen deze wel, of kunnen zij een derde alternatief bedenken.
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Hepa op do 22 12 2016, 05:48:40
Beste,

Is er iemand die hiermee verder kan helpen?

Gr.
Titel: Re: Automatically Label Attributes deel 2
Bericht door: roy_043 op do 22 12 2016, 16:42:09
Hier een uitwerking van mijn 2e suggestie.
Gebruik de functie ConnectObjects om objecten te 'linken':
(ConnectObjects (KGA_Conv_Pickset_To_ObjectList (ssget)) nil)
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Hepa op do 22 12 2016, 21:01:46
Beste Roy,

Eerst dank ik je voor de hulp.
Ik heb jou lisp samen met de autocad tekening geprobeerd maar , ik krijg hem niet aan de praat.
Zou je me verder kunnen toelichten wat, hoe ik hiermee moet werken.

Gr.
Titel: Re: Automatically Label Attributes deel 2
Bericht door: roy_043 op do 22 12 2016, 22:31:18
Test om de werking van het programma te controleren:
1. Open the dwg-bestand.
2. Laad het Lisp-bestand.
3. Wis in Layout1 de 'PS' tekst.
4. Resultaat: ook de 'MS' tekst, die in modelspace staat, verdwijnt.
5. Gebruik _U.
6. Activeer de VP.
7. Wis de 'MS' tekst.
8. Resultaat ook de 'PS' tekst verdwijnt.
9. In modelspace staan nog 3 paar gekoppelde objecten.

In mijn vorige bijdrage heb ik aangegeven hoe objecten kunnen worden gekoppeld. In de voorbeeldtekening zijn objecten paarsgewijs gekoppeld, maar je kunt ook meer objecten koppelen. En objecten kunnen ook tot meerdere 'groepen' behoren.

Als dit niet helemaal duidelijk is dan kan ik het nader uitleggen. Maar allereerst is het voor mij interessant om te horen of het programma überhaupt werkt in AutoCAD.
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Reimer op vr 23 12 2016, 08:47:01
Ik heb het programma net getest zoals hiervoor beschreven. Dit werkt bij mij niet in Civil 3D 2015.
Ik open de tekening, laad het programma, verwijder de tekst PS (foutmelding) en verwijder de tekst MS (foutmelding). De volgende uitvoer verschijnt in acad:

CiteerNon Autodesk DWG.  This DWG file was saved by a software application that was not developed or licensed by Autodesk.  Autodesk cannot guarantee the application compatibility or integrity of this file.
Command:
Command: (LOAD "H:/Windows/Desktop/ConnectObjects.lsp")
ConnectObjects: 8 objects found, 8 valid, 0 invalid (data removed)
ConnectObjects loaded

Command: erase
Select objects: 1 found
Select objects:  ; error: Automation Error. Description was not provided.

Command: _.MSPACE ; error: Automation Error. Description was not provided.
; error: Automation Error. Description was not provided.
Command: e ERASE
Select objects: 1 found
Select objects:  ; error: Automation Error. Description was not provided.

Reimer
Titel: Re: Automatically Label Attributes deel 2
Bericht door: roy_043 op vr 23 12 2016, 10:18:37
Dankjewel Reimer.

Tja, werken met reactors is altijd lastig. Soms werkt een oplossing blijkbaar alleen in BricsCAD.
Hier is een variant die gebruikmaakt van een 'postproces':
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Reimer op vr 23 12 2016, 10:44:49
Ik krijg helaas dezelfde melding.
Citeer; error: Automation Error. Description was not provided.

Reimer
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Reimer op vr 23 12 2016, 11:42:00
Ik heb net BricsCAD geactiveerd (er was een licentie beschikbaar (http://www.cadsite.be/smf/index.php?topic=6547.0 (http://www.cadsite.be/smf/index.php?topic=6547.0))).
Hierin werkt de code perfect. Jammer dat de programma's niet hetzelfde reageren.

Reimer
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Hepa op za 24 12 2016, 00:12:55
Beste Roy,

Net ook de lisp nog een keer uitgevoerd zoals beschreven en krijg inderdaad de melding als hierboven. En is dezelfde die ik vorige keer had.

--> ; error: Automation Error. Description was not provided.

Gr.

Alvast fijne feest dagen voor jullie allemaal.
Titel: Re: Automatically Label Attributes deel 2
Bericht door: roy_043 op zo 01 01 2017, 12:52:44
Bijgevoegd een nieuwe versie.
Lee Mac (https://www.theswamp.org/index.php?topic=52466.0) heeft mij geholpen om het probleem te vinden. Maar ik weet niet zeker of deze versie wel werkt.
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Reimer op zo 01 01 2017, 23:19:41
Deze werkt bij mij in Civil 3D 2016  :vreegoe:

Reimer
Titel: Re: Automatically Label Attributes deel 2
Bericht door: roy_043 op zo 01 01 2017, 23:23:48
Citaat van: Reimer op zo 01 01 2017, 23:19:41
Deze werkt bij mij in Civil 3D 2016  :vreegoe:

Reimer
Bedankt voor het testen. :D
Titel: Re: Automatically Label Attributes deel 2
Bericht door: Hepa op ma 02 01 2017, 18:46:40
Beste Roy,

Heb test ook uitgevoerd in autocad 2016 maar alleen op de twee teksten. En werkt ook. Zal zo snel mogelijk op de postnummers testen. En laat ik wel weten wat de uitkomst is. Alvast bedankt voor jou hulp.

GR.