yoin

H@rm

Denk er aan dat je ook ingelogd moet zijn om de bijlagen te zien.

Michel
Acad 10 t/m 2015
Revit 2010 t/m 2015
autodidact lisp

Kenny van Lent

Manu: del_outside.lsp is PRECIES wat ik zocht! :vreegoe: Hartstikke bedankt hiervoor. Alleen werkt extrim niet naar behoren, mijn idee is om eerst extrim te gebruiken en daarna del_outside.lsp voor het gewenste resultaat. De polyline heb ik op Continues gezet maar zet geen zoden aan de dijk, als ik extrim uitvoer doet het letterlijk niks. Zeer vreemd, als ik dit uitvoer op een kleiner bestand lukt het wel. Enig idee hoe dit zou komen?

mrbeegee: Hartstikke bedankt voor de .lsp waarmee ik alles binnen de polyline kan selecteren  :vreegoe:, zou een goed alternatief zijn mocht de motor van del_outside.lsp het begeven. Daarnaast kan ik jouw .lsp wel goed voor andere projecten gebruiken.

Alleen nog uitvinden hoe wij extrim weer aan de gang kunnen krijgen. Het deeg is gerold, nu moet het de oven nog in. Tot zovere iedereen bedankt voor jullie input.

Met smart wacht ik op reactie,

Met vriendelijke groet,

K. van Lent

roy_043

Beste Kenny,

Omdat ik Bricscad 7 gebruik kan ik extrim niet testen. Maar je kunt ook zelf "extrimmen" door gebruik te maken van optie fence in het trim-commando:

: trim
Select cutting entities for trim <ENTER to select all>:
Entities in set: 1
Select cutting entities for trim <ENTER to select all>:
Edge mode/Fence/Projection/<Select entity to trim>: f
First point of fence:
Next fence point:
Next fence point:

De punten van de fence moet je dan kiezen net buiten de polylijn die als snijlijn wordt gebruikt.
Misschien dat dit wel lukt en, ondanks dat het wat tijd kost, toch werkbaar is.

Groet, Roy.

Manu

Citaat van: Kenny van Lent op vr 14 08 2009, 10:39:00
"..als ik extrim uitvoer doet het letterlijk niks..."

Kenny,

Wat staat er te lezen in het Autocad Text Window (via F2) vlak na het uitvoeren van de extrim?
En sta je volledig uitgezoomd voor het uitvoeren van extrim?

Manu
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

Kenny van Lent

roy_043: Zoals ik al zei heb ik vrijwel alle standaard commando's uitgeprobeerd op allerlij manieren, ook deze was al als 1 van de eerste aan de beurt. Geeft geen foutmeldingen, en AutoCAD denkt dat het functioneert naar behoren, terwijl dat niet het geval is. Extrim verwijderd de lange lijnen, maar niet de korte, terwijl juist de korte van belang zijn om getrimmed te worden. Hiervoor zoek ik nogsteeds een oplossing.

Manu: Zoals ik hierboven al vermeld heb, AutoCAD vermeld dat alles correct funcioneert, maar in tegendeel. En ja, ik heb extrim gebruikt nadat ik zoom-extend heb gebruikt en ook heb ik extrim gebruikt terwijl ik ingezoomd was. Nogteeds worden niet ALLE lijnen getrimmed, enig idee?

roy_043

Beste Kenny,

Als de polylijn gebogen delen heeft dan zou je nog kunnen proberen om deze met polyfit om te zetten in een polylijn met alleen rechte stukjes (let op: ook de rechte delen van de polylijn worden door polyfit opgedeeld in stukjes).

Post anders eens een KLEINE test dwg met een stukje van de omtrek en een paar elementen die niet te trimmen zijn ...

Groet, Roy.


Manu

Kenny,

Zou het kunnen dat de lijnen die NIET worden getrimd niet in hetzelfde vlak liggen zoals de polyline waarrond je trimt?
Kijk de Z-waardes eens na van hetgeen 'overblijft'.. of zie na of het geen 3D-polylines zijn..
Tip : middels het commando ID kun je van eender welk 'punt' de XYZ-waarden opvragen..

Hou je ons op de hoogte?

Manu
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

Kenny van Lent

roy_043 en Manu: Zojuist zijn wij erachter gekomen dat "extrim" alleen hetgene trimt wat visueel is op het beeldscherm. Dit verklaart ook waarom de grote lijnen die bij Zoom Extend zichtbaar waren, getrimt werden. Dus hetgeen wat niet zichtbaar is met Zoom Extend word NIET getrimt, wat dus wel moet gebeuren.

Maar "extrim" zegt het al, "ex" (Zoom Extend) "trim" (Trim). Is het mogelijk om hiervoor een ander soortgelijk commando te gebruiken zodat wel alle objecten ongeacht of het zichtbaar is verwijderd worden of moet ik hiervoor een instelling veranderen van "Trim Visible" naar "Trim Real", of iets in die geest.

Daarbij zweet ik otters uit m'n kont, heerlijk weertje, vind je niet? ;)

Met vriendelijke groet,
K. van Lent

mrbeegee

Ik heb het ook eens gereproduceerd. Heb hier een stadskaart van Amsterdam 50MB groot ruim 1.000.000 objecten.
Ik heb een gesloten polylijn om de grachtengordel getekend en NIET geheel uitgezoomd met de lisp deloutside alles buiten de polylijn proberen te verwijderen........ effe wachten. AutoCad is nu nog bezig!
Daarom nog een paar vraagjes:
* Welke AutoCad versie gebruik je?
* Is het gedeelte dat je wilt verwijderen groter of kleiner dan het gedeelte dat je wilt behouden?

Ik denk dat ik iets te veel hooi op de vork heb genomen.  :o   nee, hij is er weer.
Hij heeft keurig alles weggegooid wat geheel buiten de polylijn stond.
Nu met extrim de crossings trimmen. Je hoeft trouwens niet uitgezoomd te staan want dat commando (zoom extend) zit al in het extrim-commando.
Het grootste gedeelte haalt die ook weg alleen de hele kleine overschrijdingen pakt die niet.
Dit heeft denk ik te maken met met een visuele tolerantie die AutoCad gebruikt tijdens het trimmen. Handmatig trimmen als je ingezoomt ben gaat probleemloos. Maar dat is waarschijnlijk geen optie voor je!?
Ik heb nog geen slimmere oplossing dan handmatig hiervoor gevonden.

roy_043

Beste Kenny,

Ik heb eens gezocht naar extrim.lsp en warempel: in autocad14 was deze functie een lisp!

Wat heb je nodig (*.txt hernoemen naar *.lsp):
http://personales.unican.es/Togoresr/lisp/Ejemplos/R14/BONUS/AC_BONUS.txt
http://personales.unican.es/Togoresr/lisp/Ejemplos/R14/BONUS/EXTRIM.txt

Wat is volgens mij het probleem:
In feite trimt extrim ook met de optie fence. Om de punten voor deze fence te bepalen wordt gebruik gemaakt van het commando offset. Voor stedenbouwkundige tekeningen is de offset-afstand te groot waardoor kleine overschrijdingen worden gemist.

Wat zou je kunnen proberen:
Verander deze regels in EXTRIM.LSP:

regel 162:                       (/ (pixel_unit) 2.0)
regel 348:         b (* (getvar "viewsize") 0.05);initial offset distance
regel 351:         c (pixel_unit)
Bijvoorbeeld in:
regel 162:                       (/ (pixel_unit) 2000.0)
regel 348:         b (* (getvar "viewsize") 0.00005);initial offset distance
regel 351:         c (/ (pixel_unit) 1000.0)
In het voorbeeld worden de maten gedeeld door 1000. Dit getal kun je nog groter maken.

Ik moest overigens in AC_BONUS.LSP ook nog een error-functie "uitschakelen":
(defun init_bonus_error ( lst / ss undo_init)
   nil
)

Groet, Roy.

mrbeegee

Hoi Roy,
In Map3D/express kwam ik deze lisp ook tegen. Deze is reeds iets aangepast tov de oorspronkelijke lisp in de bonustools.
Omdat deze iets anders is weet ik niet precies hoe deze aan te passen. Kan jij dit bekijken?

roy_043

Beste mrbeegee,

Oude regels voor jou:
regel 197:                        (/ (acet-geom-pixel-unit) 2.0)
regel 391:         b (* (getvar "viewsize") 0.05);initial offset distance
regel 394:         c (acet-geom-pixel-unit)
Nieuwe regels voor jou:
regel 197:                        (/ (acet-geom-pixel-unit) 2000.0)
regel 391:         b (* (getvar "viewsize") 0.00005);initial offset distance
regel 394:         c (/ (acet-geom-pixel-unit) 1000.0)
Het kan overigens zijn dat delen door 1000 een te grote stap is. Als de polylijn veel bogen bevat dan zal het programma waarschijnlijk zeer traag worden.

Groet, Roy.

mrbeegee

Perfect Roy.  :vreegoe:
Ik had de waarden 100 maal zo "fijn" genomen en alles was nu wel meegenomen.

Ropa

#28
Je kan misschien ook bij de EXPRESS tools het volgende gebruiken.
BLOCKS-> trim to nested objects-Fence.......

Ik kan me nog herinneren dat er vroeger (ik meende autocad14) ook bij de bonustools ene optie was om alles buiten een polyline te trimmen. Als ik bv een kadastrale situatie had dan maakte ik een cirkel eroverheen en liet dan een commando uitvoeren uit de bonustools (een soort multitrim geloof ik). Je zag gewoon dat hij een paar keer om de cirkel heen trok om alle lijnen te trimmen met de cirkellijn. Dit heb ik nooit weer kunnen vinden, deze routine.

ps
lees nu net het bericht hierboven. Heb net ff extrim geprobeerd. Dit is dus wat ik bedoelde ja......Autocad 14 dus (lees ik net hierboven in bericht van Roy-043)
Mooi dat ik dat nu ook tegenkom.

Kenny van Lent

Allereerst wil ik jullie allemaal hartstikke bedanken voor de input die jullie gegeven hebben!  :D :vreegoe:

De oplossing is gevonden en het werkt zo glad als ijs, deze is als bijlage toegevoegd aan het bericht.

Zeer benieuwd ben ik naar jullie mening over dit script.

Met vriendelijke groet,
K. van Lent