CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: Arno Verwegen op do 30 06 2005, 09:14:26

Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 09:14:26
Hallo,


Kan ik alle stippellijnen in een tekening, in een of enkele bewerkingen selecteren, indien deze niet op dezelfde layer staan?

Arno
Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 09:27:00
In de layers waar deze stippellijnen zich bevinden, staan ook nog andere linetypes.....
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 09:33:41
Beste Arno,

(setq ltype (ssget "x" '((6 . "zigzag"))))

Met vorige regel kun je uw lijntype selecteren.
Zigzag is de naam van het lijmtype.
Ltype staat voor de selectie er van.

Is dit wat je bedoeld?

MVG

Kenny
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 09:36:24
De laag waar uw hidden lijnen op staan hebben geen invloed op de selectie

Aangezien u Hidden ltype nodig heeft:

(setq ltype (ssget "x" '((6 . "hidden"))))
Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 09:46:20
Kenny,

dit is het antwoord van acad:

<Selection set: 479>

Kan ik die set weer selecteren? Ik zie op mijn scherm niets gebeuren namelijk.

Arno
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 09:47:49
Test dit eens

Citeer(defun c:lijntype ()
 (setq ltype (ssget "x" '((6 . "hidden"))))
;;;  (command "scale" ltype "" "9,3" "4")
 (command "copy" ltype "")

)
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 09:49:38
Logisch als je mijn regel

 (setq ltype (ssget "x" '((6 . "hidden"))))

alleen test dat je niets te zien krijgt. Dit is dan ook alleen de selectie regel.
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 09:55:47
;;;een FILTEROPTIE bij ssget:
;;;voorbeeld selecteren op layer

 (setq layer (ssget "x" '((8 . "veelhoeken"))))

Veelhoeken --> layernaam

;;;een FILTEROPTIE bij ssget:
;;;voorbeeld selecteren op kleur


 (setq blauw (ssget "x" '((62 . "5"))))
of
(setq blauw (ssget "x" '((62 . "blue"))))

"5" of blue zijn de kleurcode

werkt spijtig genoeg niet  :evil:  

; error: bad SSGET list value

Iemand?

Edit:

Probleem al gevonden.
In tegenstelling tot laagnaam en lijntype die tussen "" staan moet bij de kleurcode dit niet.

dus:

 (setq blauw (ssget "x" '((62 . 5))))
Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 10:00:15
Misschien een stomme vraag, maar is het de bedoeling dat ik die tekst in de commandoregel intik?
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 10:02:44
Arno,

als je dit laat lopen wat doet hij dan?

(defun c:lijntype ()
(setq ltype (ssget "x" '((6 . "hidden"))))
(command "copy" ltype "")
)

Niet enteren hij gaat vragen zoals bij copieren om een punt te geven voor verplaatsing
Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 10:06:25
Kenny,

als ik die regels intik dan kom ik gewoon weer op de commandoregel uit, zonder zichtbaar resultaat.

Arno
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 10:14:44
Dag arno,

Staan er lijnen getekend met hidden. dus geen hidden2 ofzo.
Dan via lisp laten lopen.
Bij mij gaat dit. Als ik dat laat lopen kan ik meteen mijn verplaatsing doen.
De selecetie is dus al gebeurt.
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 10:16:13
Als hij nog stopt plak dan eens uw commando regels (via F2 )
Kan ik mss de fout vinden.

vb van mij
CiteerCommand: LIJNTYPE
nil
Specify base point or displacement, or [Multiple]: Specify second point of
displacement or <use first point as displacement>:
Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 10:21:09
Kenny,


via lisp laten lopen zeg je. Dit is nog te hoge autocadkennis voor mij. Dus: Hoe laat ik het via lisp lopen? De ltypes zijn zeker van het hidden-type.

Arno
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 10:30:36
Dag arno,

Via tools, autolisp visual lisp in editor
of door 'VLIDE in t typen in de commando regel.
Dan start er zich een extra window.

dan druk je nieuw bestand (new file).

plak je mijn prog daarin.

dan staat daar rechts boven een toolbar

(https://cadsite.be/smf/proxy.php?request=http%3A%2F%2Fimg237.imageshack.us%2Fimg237%2F8117%2Flay7ut.th.jpg&hash=3eb6f41c96b106fa8fd166df67f8c42b45cddba0) (http://img237.imageshack.us/my.php?image=lay7ut.jpg)

klik op:
load active edit window.

ga je terug naar autocad en typ je lijntype in op de commandregel.
Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 10:33:03
Kenny,

ik ben er even tussenuit, maar ga het vanmiddag proberen.

alvast bedankt

Arno
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 10:34:16
Oké Arno

Maar aangezien lisp zo ruim is zal je met les 1 van Joop al voldoende info vinden. Over het openen en laden van programma's.
http://www.cadsite.be/lisp/lisp.shtml

Groeten

Kenny
Titel: Re: LIjnen selecteren
Bericht door: HofCAD op do 30 06 2005, 11:35:59
Citaat van: Arno VerwegenHallo,


Kan ik alle stippellijnen in een tekening, in een of enkele bewerkingen selecteren, indien deze niet op dezelfde layer staan?

Arno

Beste Arno,

Stel dat bij de tekeningelementen(entiteiten) het lijntype niet bylayer
staat maar op bijv. Hidden, dan en alleen dan kun
je met Quick Select(commando qselect) of met filter de entiteiten
selecteren op hun lijntype.
Het commando filter kan men met een apostrof ook transparant gebruiken, bijvoorbeeld in ERASE 'FILTER enz.

De methode van Kenny H. is waarschijnlijk voor je probleem veel
geschikter.

Groetjes HofCAD CSI
Titel: LIjnen selecteren
Bericht door: Arno Verwegen op do 30 06 2005, 13:10:14
Qselect werkt in mijn geval!

ben ik weer even uit de brand geholpen, dank u.

Arno
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 13:58:49
Beste arno,

Aangezien u nog niet veel weet over lisp heb ik een Handige oplossing gevonden voor u probleem.

Er bestaan van autocad allerij mnu en mns bestanden. Deze bevatten info over toolbars ed.
Nu bestaat er daar ook een bestand die lispfiles bevat.

ACAD.mnl --> lisp
acad.mnu --> menu

De map kan je terug vinden bij C:\Program Files\AutoCAD 2002\Support.
Je copieert deze bestanden naar een andere map BV
c: mijn documenten /autocad /menu/
deze map voeg je toe bij  search van autocad.

Doe je als volgd:

Options, tabblad files, support file search path.
Daar voeg je dus uw map toe.

Ook bij options maar op tabblad system vink je bij General options load acad.lsp


Je opent acad.mnl bestand en voegt onderaan volgende zaken toe.

;;;**********************************************
;;; Begin van mijn toevoegingen
;;;**********************************************

;;; Selectie via lijntype "Hidden"

(defun c:movehidden ()
 (setq ltype (ssget "x" '((6 . "hidden"))))
 (command "move" ltype "")
;;; om te verplaatsen
)

(defun c:copyhidden ()
 (setq ltype (ssget "x" '((6 . "hidden"))))
 (command "copy" ltype "")
;;; om te copieren
)

:!: Sla dit natuurlijk op :!:

Nu ga je naar autocad een typ je menu.
nu laad je acad.mnu uit de map (die je net hebt aangemaakt) waarin ook uw acad.mnl zit.
Nu is uw lspfile automatisch geladen en steeds ter uwe beschikking.

Wens je nu deze functies op te roepen:

Via commando regel:
movehidden --> voor te verplaatsen
copyhidden --> voor te copieren

Via knoppen:
als functie geef je dan:
^C^C_movehidden
^C^C_copyhidden

Als je meer info wil weten over aanmaken van knoppen moet je dit maar vragen.

Als er andere functies nodig zijn dan verplaatsen of copieren, dan moet je dit ook maar melden.  :wink:

MVG

Kenny
Titel: LIjnen selecteren
Bericht door: bart op do 30 06 2005, 14:45:54
Citaat van: Kenny HBeste arno,

Aangezien u nog niet veel weet over lisp heb ik een Handige oplossing gevonden voor u probleem.

Er bestaan van autocad allerij mnu en mns bestanden. Deze bevatten info over toolbars ed.
Nu bestaat er daar ook een bestand die lispfiles bevat.

ACAD.mnl --> lisp
acad.mnu --> menu

even een opmerking verder prima tip


De map kan je terug vinden bij C:\Program Files\AutoCAD 2002\Support.
Je copieert deze bestanden naar een andere map BV
c: mijn documenten /autocad /menu/
deze map voeg je toe bij  search van autocad.

dit kan leiden tot rare fouten omdat je nu twee keer acad.mnu en acad.mnl in je zoekpad hebt staan.

Beter is om een geheel eigen menu aan te maken
of de orginelen bestanden te editen (wel backup maken)


Doe je als volgd:

Options, tabblad files, support file search path.
Daar voeg je dus uw map toe.

Ook bij options maar op tabblad system vink je bij General options load acad.lsp


Je opent acad.mnl bestand en voegt onderaan volgende zaken toe.

;;;**********************************************
;;; Begin van mijn toevoegingen
;;;**********************************************

;;; Selectie via lijntype "Hidden"

(defun c:movehidden ()
 (setq ltype (ssget "x" '((6 . "hidden"))))
 (command "move" ltype "")
;;; om te verplaatsen
)

(defun c:copyhidden ()
 (setq ltype (ssget "x" '((6 . "hidden"))))
 (command "copy" ltype "")
;;; om te copieren
)

:!: Sla dit natuurlijk op :!:

Nu ga je naar autocad een typ je menu.
nu laad je acad.mnu uit de map (die je net hebt aangemaakt) waarin ook uw acad.mnl zit.
Nu is uw lspfile automatisch geladen en steeds ter uwe beschikking.

Wens je nu deze functies op te roepen:

Via commando regel:
movehidden --> voor te verplaatsen
copyhidden --> voor te copieren

Via knoppen:
als functie geef je dan:
^C^C_movehidden
^C^C_copyhidden

Als je meer info wil weten over aanmaken van knoppen moet je dit maar vragen.

Als er andere functies nodig zijn dan verplaatsen of copieren, dan moet je dit ook maar melden.  :wink:

MVG

Kenny
Titel: LIjnen selecteren
Bericht door: Kenny H op do 30 06 2005, 15:27:24
Dag bart,

Aangezien je je menu laad gaat hij de laatse path onthouden voor zijn menu's en daarrond dan zijn gegevens aanmaken (mns enz). Normaal zou hier geen probleem ontstaan.

Misschien voor alle zekerheid gewoon die acad.mnu veranderen in een acadarno.mnu of zoiets.
Ik heb ook verschillende menu's staan. De originele staat nog steeds onder support en één in reserve in mijn documenten (in geval van nood).
De aangepaste menu's hebben een andere naam Acadlisp.mnu , Acadvba.mnu enz.
Maar hier is er in die mnu niets aangepast. Dient gewoon om die mnl te kunnen koppellen en dus te laden.  :wink:

Ben akkoord met uw reactie. Ge kunt beter problemen voorkomen dan ze herstellen.
Titel: LIjnen selecteren
Bericht door: WebRacer op do 30 06 2005, 22:31:02
Ik heb dit onderwerp wel 5 keer volledig door genomen....
In het geval van Arno Verwegen (die nog niet vertrouwd is met lisp) zou ik ook opteren voor meer gebruik van Quick select, door dat commando een lekker 5 minuten te doorgronden kan je al een snelle, leuke en meestal toch efficiente quick-selektie maken... Om in een lisp een filter te gebruiken zijn er ook verschillende mogelijkheden, de een al iets gecompliceerder dan de ander.
een 2e oplossing zou zijn als Arno'ke een button'ke aanmaakt door met de rechtermuistoets te klikken op een of ander icoontje...Customize helemaal onderaan te selekteren; uit catergorie -- user defined te kiezen gevolg door user defined button....Die user defined button sleep je uit dat screen naar je menubalk en laat hem daar los...Door 1 keer op je nieuwe button te klikken kan je daar vanalles aan toevoegen... wat ik niet allemaal ga uitleggen!! Dat lijkt mij daar allemaal logisch, Maar bij 'macro'
zou je dan het volgende kunnen toevoegen Arno'ke : (ssget "x" '((6 . "hidden2")));  
en je maakt er een leuke knop-icoon bij enz... Dan heb je een transparant 'hidden2'-line selektie...
Dus dan doe je bv... Move, klik op de knop en al de entiteiten met als linetype hidden2 (in dit geval) zitten in de selektie...
Een hele lange uitleg om iets heel sipels te bekomen arno, maar als je dit veel nodig hebt, dan kan het heel practisch zijn...

Veel suc6
Titel: LIjnen selecteren
Bericht door: bart op vr 01 07 2005, 10:34:23
Citaat van: Kenny HDag bart,

Aangezien je je menu laad gaat hij de laatse path onthouden voor zijn menu's en daarrond dan zijn gegevens aanmaken (mns enz). Normaal zou hier geen probleem ontstaan.

Misschien voor alle zekerheid gewoon die acad.mnu veranderen in een acadarno.mnu of zoiets.
Ik heb ook verschillende menu's staan. De originele staat nog steeds onder support en één in reserve in mijn documenten (in geval van nood).
De aangepaste menu's hebben een andere naam Acadlisp.mnu , Acadvba.mnu enz.
Maar hier is er in die mnu niets aangepast. Dient gewoon om die mnl te kunnen koppellen en dus te laden.  :wink:
Ben akkoord met uw reactie. Ge kunt beter problemen voorkomen dan ze herstellen.

Je kan met autocad vanaf versie 2000 meen ik meer dan 1 menu te gelijk laden.

Het hoofdmenu moet de instellingen voor je muis; digitizer e.d bevatten.
Als je slim bent gebruik je hier het standaard acad.mnu voor zodat het systeem algemeen toegankelijk blijft.
De overige menu's schrijf je helemaal  zelf en laad je separaat in (met menuload)
uiteraad kan je hier ook een mnl. bestand bij aanmaken.
voordeel hiervan is dat je maar 1 bestand hoeft te editen bij wijzigingen
Titel: LIjnen selecteren
Bericht door: cadtools@gmail.com op vr 01 07 2005, 16:06:02
WAAROM LOOPT IEDEREEN ZO MOEILIJK TE DOEN MET VLISP CODE..?
je kunt toch ook gewoon quick select => linetype etc... (specificeren)
en BINGO  ! JE HEBT HET.  (command : qselect)
voordeel : dit is begrijpbaar voor iemand met wat minder CAD-ervaring.. :D