Copyright © 2004-2022 SQL: 0.962 saniye - Sorgu: 48 - Ortalama: 0.02004 saniye
|
10.10.2025 11:38
|
|
Merhabalar
Elimde layer ve ölçüleri aynı, konumları farklı olan 500 tane circle var diyelim. - Bunları ayrı ayrı blok yapabileceğim hızlı bir yol var mı? - Merkez noktalarına daha önceden oluşturmuş olduğum bir bloğu toplu şekilde yerleştirmemin bir yolu var mı? Teşekkürler İyi çalışmalar
|
|
baha07
|
|
merhabalar
3 bu isini gormesi gerekiyor sanirim .. kopyalamak istedigin blogu sec daha sonra cemberleri sec . otomatik tabaka ayrimi yapmadan kopyaliyor Kod: ;___________________________________________________________________________________________________________|
; secilen blogun referans noktasindan secilen cemberlerin merkezine kopyalar ; Command Line Function to Copy a block on centers of selection set of circles ;https://forums.augi.com/showthread.php?176874-Insert-Block-on-Multiple-Circles-(Circle-Center-Point) ;peter tarafindan yazildi. ___________________________________________________________________________________________________________| (defun C:BOC ()(C:BlockOnCircle)) (defun C:BlockOnCircle (/ lstCircleObjects objBlock ssBlock ssCircles) (if (and (princ "\nSelect Block: ") (setq ssBlock (ssget ":S:E" (list (cons 0 "insert")))) (setq objBlock (car (SelectionSetToList ssBlock))) (princ "\nSelect Circles: ") (setq ssCircles (ssget (list (cons 0 "circle")))) (setq lstCircleObjects (SelectionSetToList ssCircles)) ) (CopyBlockToCircleCenters objBlock lstCircleObjects) ) ) ;___________________________________________________________________________________________________________| ; ; Function to Copy a block only centers of a list of circles objects using activeX ;___________________________________________________________________________________________________________| (defun CopyBlockToCircleCenters (objBlock lstCircleObjects / lstCircleObjects lstInsertionPoint objCircle ) (if (setq lstInsertionPoint (vlax-get objBlock "insertionpoint")) (foreach objCircle lstCircleObjects (setq lstCircleCenterPoint (vlax-get objCircle "center")) (setq objBlockNew (vlax-invoke objBlock "copy")) (vlax-invoke objBlockNew "move" lstInsertionPoint lstCircleCenterPoint) ) ) ) ;___________________________________________________________________________________________________________| ; ; Function to convert a lisp selection set to a list of vla objects ;___________________________________________________________________________________________________________| (defun SelectionSetToList (ssSelections / entSelection intCount lstObjects objSelection ) (repeat (setq intCount (sslength ssSelections)) (and (setq intCount (1- intCount)) (setq entSelection (ssname ssSelections intCount)) (setq objSelection (vlax-ename->vla-object entSelection)) (setq lstObjects (cons objSelection lstObjects)) ) ) (reverse lstObjects) ) (vl-load-com)
|