CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: dreten op vr 08 01 2010, 16:17:44

Titel: Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: dreten op vr 08 01 2010, 16:17:44
(Ik teken met Autocad 2010)

Stel:Ik wil een boring maken in een kubus.
ik teken dus een cilinder doorheen de Kubus, en vervolgens pas ik met de cilinder subtraction toe op de kubus.
hoe voorkom ik daarbij dat de cilinder verloren gaat na de bewerking??

dergelijke werkwijze heb ik namelijk nodig voor het virtueel uitfrezen van de treden uit een trapwang:
ik wil dus de treden 15mm in de trapwang tekenen, om vervolgens de inkepingen in de trapwang te "frezen" met de tredes.
maar als ik dat doe moet ik, tot nu, de treden kopiëren om na de subtraktie-bewerking telkens nog één over te houden die dan in die inkeping past.

alvast bedankt voor jullie hulp.

Dré
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: roy_043 op za 09 01 2010, 12:34:18
Waarom kies je niet voor union?
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: dreten op za 09 01 2010, 12:44:43
Citaat van: roy_043 op za 09 01 2010, 12:34:18
Waarom kies je niet voor union?

hoe kan ik nu een hap uit een solid bijten met "union" :roll:??
of zie ik iets over het hoofd?
krijg ik wat méér uitleg van je?

hieronder zie je wat ik eigenlijk bedoel:
(https://cadsite.be/smf/proxy.php?request=http%3A%2F%2Fwww.pictureparking.com%2Fpic.php%3Fmode%3DO%26amp%3Bpid%3D100435&hash=2969bb1a77451b7f77bdac3bb01d74ce6bf3aa21)
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: roy_043 op za 09 01 2010, 13:27:14
Jouw werkwijze:
1. Maak uitfrezingen in de trapbomen m.b.v. subtraction.
2. Steek de treden in deze uitfrezingen.
3. Resultaat: 3D trap.

Mijn idee:
1. Plak de treden en de bomen aan elkaar m.b.v. union.
2. Resultaat: 3D trap.

Als jouw doel is om aparte trapbomen te handhaven, bijvoorbeeld omdat je productietekeningen wilt maken, dan zul je inderdaad subtraction moeten gebruiken. En omdat voor alle boolean operaties geldt dat de originele solids verdwijnen, ontkom je dan niet aan een copieerhandeling. Als je dit vaak bij de hand hebt kan het zin hebben om hier een kleine lisp voor te maken.
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: roy_043 op za 09 01 2010, 13:32:24
Mooi plaatje... Maar uitfrezingen zo dicht bij de rand... Oei.
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: dreten op za 09 01 2010, 13:33:23
Citaat van: roy_043 op za 09 01 2010, 13:27:14
.....en omdat voor alle boolean operaties geldt dat de originele solids verdwijnen, ontkom je dan niet aan een copieerhandeling. Als je dit vaak bij de hand hebt kan het zin hebben om hier een kleine lisp voor te maken.

dat is het hem nou net: toen ik vroeger, met Microstation, hetzelfde deed, dan kreeg ik in de toolbox de gelegenheid om een vinkje te zetten naast "keep originals" waardoor dan het subtragerend object bewaard werd na de bewerking.
Dus volgens jou is het uitgesloten dat dit kan met ACAD. Ook niet met een sneltoetscombinatie??
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: dreten op za 09 01 2010, 13:37:10
Citaat van: roy_043 op za 09 01 2010, 13:32:24
Mooi plaatje... Maar uitfrezingen zo dicht bij de rand... Oei.

"you ain't seen nothing yet"
Een goeie vakman is tot veel in staat hoor :D!
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: roy_043 op za 09 01 2010, 13:59:55
Volgens mij kan dit in Autocad alleen met lisp:
(LET OP: ik kan deze lisp zelf niet testen omdat ik BC7 classic gebruik)
(defun c:CopySubtract ( / setToSubtractFrom setToSubtract oldOsmode)
 (princ "\nSelect objects (to subtract from): ")
 (setq setToSubtractFrom (ssget))
 (princ "\nSelect objects (to copy in-place and subtract): ")
 (setq setToSubtract (ssget))
 (if (and setToSubtractFrom setToSubtract)
   (progn
     (setq oldOsmode (getvar "osmode"))
     (setvar "osmode" 0)
     (setvar "cmdecho" 0)
     (command
       "_.copy" setToSubtract "" '(0.0 0.0 0.0) '(0.0 0.0 0.0)
       "_.subtract" setToSubtractFrom "" setToSubtract ""
     )
     (setvar "cmdecho" 1)
     (setvar "osmode" oldOsmode)
     (princ "\nDone ")
   )
   (princ "\nTwo selection sets are required ")
 )
 (princ)
)


<EDIT>Deze lisp bevat geen enkele foutcontrole</EDIT>
<EDIT>Een prompt iets aangepast</EDIT>
<EDIT>Lisp aangepast, minimale foutcontrole toegevoegd</EDIT>
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: dreten op za 09 01 2010, 14:07:07
Citaat van: roy_043 op za 09 01 2010, 13:59:55
Volgens mij kan dit in Autocad alleen met lisp:
(LET OP: ik kan deze lisp zelf niet testen omdat ik BC7 classic gebruik)
(defun c:CopySubtract ( / setToSubtractFrom setToSubtract)
 (princ "\nSelect objects (to subtract from): ")
 (setq setToSubtractFrom (ssget))
 (princ "\nSelect objects (to subtract): ")
 (setq setToSubtract (ssget))
 (setvar "cmdecho" 0)
 (command
   "_.copy" setToSubtract "" '(0.0 0.0 0.0) '(0.0 0.0 0.0)
   "_.subtract" setToSubtractFrom "" setToSubtract ""
 )
 (princ "\nDone ")
 (setvar "cmdecho" 1)
 (princ)
)


<EDIT>Deze lisp bevat geen enkele foutcontrole</EDIT>

'k Zal me er eens in verdiepen.
Bedankt voor je hulp, Roy.

Mocht er iemand nog raad weten...laat maar komen hoor!!
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: roy_043 op za 09 01 2010, 14:18:07
Ter informatie:
Onze berichten hebben elkaar gekruist. Ik heb ondertussen de lisp in mijn vorige bericht nog iets aangepast.
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: HofCAD op ma 11 01 2010, 18:33:54
Beste Dreten,

Het kan op twee manieren.
Zoals in de methode van Roy met COPY en SUBTRACT,
en de alternatieve methode met INTERFERE en SUBTRACT
waarbij je bij interfere er niet voor kiest 'Delete Interference
Objects Created on Close'.

Met vriendelijke groet, HofCAD CSI.
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: dreten op wo 13 01 2010, 17:52:52
Citaat van: HofCAD op ma 11 01 2010, 18:33:54
Beste Dreten,

Het kan op twee manieren.
Zoals in de methode van Roy met COPY en SUBTRACT,
en de alternatieve methode met INTERFERE en SUBTRACT
waarbij je bij interfere er niet voor kiest 'Delete Interference
Objects Created on Close'.

Met vriendelijke groet, HofCAD CSI.

wil je me dan eens kort stap voor stap uitleggen wat ik exact moet doen.
in de zin van:
1  klik op de knop "functie"
2  klik op de kubus en druk vervolgens op enter.
3  klik nu op de cilinder


ik heb hier dus een kubus klaarstaan met in de midden daarin een cilinder die er dwarsdoorheen loopt.
het resultaat wat ik wil is: een kubus met een cilindrisch gat er dwars doorheen. de gebruikte cilinder blijft daarbij bestaan.(voor de duidelijkheid: ik wil dus, nadat het gat in de kubus is gemaakt,  effectief de daarvoor gebruikte cilinder uit de boring kunnen wegnemen en vervolgens ergens anders kunnen neerzetten of verder voor iets anders kunnen gebruiken.
alvast mijn oprechte dank voor uw moeite :wink:

Dré
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: HofCAD op do 14 01 2010, 10:34:20
Beste Dré,

Methode 1:
Maak een kopie met het commando COPY (alias CO):
COPY 'selecteer cylinder' <Enter> 0,0 @ <Enter>
Maak het verschil met het commando SUBTRACT (alias SU):
SUBTRACT 'selecteer box' <Enter> 'selecteer een cylinder' <Enter>

Methode 2:
Bepaal de overlap met het commando interfere (alias INF):
INTERFERE
Select first set of objects or [Nested selection/Settings]: 'selecteer box'
Select first set of objects or [Nested selection/Settings]: <Enter>
Select second set of objects or [Nested selection/checK first set] <checK>: 'selecteer cylinder'
Select second set of objects or [Nested selection/checK first set] <checK>: <Enter>
Zet in de dialoogbox het vinkje uit bij 'Delete Interference Objects Created on Close'
en klik op Close.
Maak het verschil met het commando SUBTRACT (alias SU):
SUBTRACT 'selecteer box' <Enter> 'selecteer de overlap' <Enter>

Met vriendelijke groet, HofCAD CSI.
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: dreten op do 14 01 2010, 12:56:42
Deze is alvast gelukt, Hof CAD.
zij het via een "binnenweggetje" (wat ik eerst niet doorhad:... je moet dus eigenlijk het interfererend deeltje aftrekken van de BOX, natuurlijk. Dus eigenlijk werk je ook met COPY, maar dan alleen het deeltje in de "doorsnede" wordt gekloond(om het met wiskunde uit te leggen))

Bedankt hoor!! :)

PS: is er geen "knop" voorzien voor "interfere", zodat ik dat niet elke keer moet intikken??
Titel: Re:Boolians: hoe behoud ik het tweede object na de subtraction-operatie??
Bericht door: HofCAD op do 14 01 2010, 13:08:08
Citaat van: dreten op do 14 01 2010, 12:56:42
Deze is alvast gelukt, Hof CAD.
zij het via een "binnenweggetje" (wat ik eerst niet doorhad:... je moet dus eigenlijk het interfererend deeltje aftrekken van de BOX, natuurlijk. Dus eigenlijk werk je ook met COPY, maar dan alleen het deeltje in de "doorsnede" wordt gekloond(om het met wiskunde uit te leggen))

Bedankt hoor!! :)

PS: is er geen "knop" voorzien voor "interfere", zodat ik dat niet elke keer moet intikken??
Beste Dreten,

Er is wel een knop in de workspace '3D Modeling' zie in het Ribbon menu in het Solid Editing gedeelte boven in het midden.
Maar ik werk niet met knoppen, want dat vind ik veel te lastig. :oops:
De alias INF intypen gaat bij mij veel sneller. :mrgreen:

Met vriendelijke groet, HofCAD CSI.