vla-Select и возвращаемое значение
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > vla-Select и возвращаемое значение

vla-Select и возвращаемое значение

Ответ
Поиск в этой теме
Непрочитано 24.05.2011, 16:48 #1
vla-Select и возвращаемое значение
Iory
 
инженер-конструктор
 
г. Казань
Регистрация: 24.04.2010
Сообщений: 19

хотел написать небольшую подпрограмму для копирования из открытого, но неактивного документа (не то чтобы таких не было, но мне интересно это сделать самому)

суть:
Код:
[Выделить все]
 
(defun C:test ( / obj)
  (vl-load-com)
  (setq acad_application (vlax-get-acad-object))
  (setq active_document (vla-get-ActiveDocument acad_application))
  (setq obj (vla-get-ActiveSelectionSet active_document))
  (vla-clear obj)
  (vla-Select obj acSelectionSetAll nil nil (vlax-safearray-fill (vlax-make-safearray vlax-vbinteger '(0 . 1)) '(0 8))
    (vlax-safearray-fill (vlax-make-safearray vlax-vbvariant '(0 . 1)) '("Line" "0")))

); end of test
линии есть, а возвращается nil. соответственно, ничего не происходит. подскажите, что тут не так.
спасибо
__________________
чертежи - когда не хватает слов, чтобы описать "чувства"
Просмотров: 3587
 
Непрочитано 24.05.2011, 23:18
1 | #2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Используй не Select-метод, а CopyObjects
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.05.2011, 23:36
#3
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Iory Посмотреть сообщение
линии есть, а возвращается nil
Все правильно читайте мат.часть... Кстати у Н. Полущука в книге "AutoLISP и Visual LISP в среде AutoCAD" нет ответа на ваш вопрос

Так понятно?
Код:
[Выделить все]
 (defun C:TEST (/ SS)
  (vl-load-com)
  (vla-Clear
    (setq SS (vla-get-ActiveSelectionSet
	       (vla-get-ActiveDocument (vlax-get-acad-object))
	     )
    )
  )
  (vla-Select
    SS
    acSelectionSetAll
    nil
    nil
    (vlax-safearray-fill
      (vlax-make-safearray vlax-vbinteger '(0 . 1))
      '(0 8)
    )
    (vlax-safearray-fill
      (vlax-make-safearray vlax-vbvariant '(0 . 1))
      '("LINE" "0")
    )
  )
  (princ (vl-princ-to-string SS))
  (vla-Clear SS)
  (princ)
)
ps но это все пока только для активного документа...
pss когда же тут будет нормальная кодировка для лиспа???
gomer вне форума  
 
Непрочитано 25.05.2011, 00:41
1 | #4
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Обращение к объекту
(vla-get-ActiveSelectionSet
может запросто завалить программу если его нет
Это грабли известные
Лучше вместо него применять
(vla-get-PickFirstSelectionSet и так же очищать его
перед использованием
Олег (jr.) вне форума  
 
Непрочитано 25.05.2011, 00:42
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Offtop:
Цитата:
Сообщение от gomer Посмотреть сообщение
когда же тут будет нормальная кодировка для лиспа???
За кодировку отвечает только автор кода
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.05.2011, 00:49
#6
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Offtop: Алексей, я про SyntaxHighlighter... на на его сайте уже выложена третья версия... Да и вообще... тут столько серьезных программистов...
gomer вне форума  
 
Непрочитано 25.05.2011, 10:10
1 | #7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Iory Посмотреть сообщение
для копирования из открытого, но неактивного документа
Проштудируй эти лиспы
Copy to Drawing
Copy to XRef
Steal from Drawing
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 25.05.2011, 11:47
#8
Iory

инженер-конструктор
 
Регистрация: 24.04.2010
г. Казань
Сообщений: 19
<phrase 1=


Цитата:
Сообщение от gomer Посмотреть сообщение
Все правильно читайте мат.часть... Кстати у Н. Полущука в книге "AutoLISP и Visual LISP в среде AutoCAD" нет ответа на ваш вопрос
собственно пример Полущука и сбил с толку, потому как там сказано, что возвращается какое-то выражение. Опытным путём я уже выяснил, что набор создаётся, а на возвращаемый nil можно не обращать внимания (просто быть к этому готовым)

Спасибо всем кто остался неравнодушен и за рекомендации!
__________________
чертежи - когда не хватает слов, чтобы описать "чувства"
Iory вне форума  
 
Автор темы   Непрочитано 28.07.2011, 11:43
#9
Iory

инженер-конструктор
 
Регистрация: 24.04.2010
г. Казань
Сообщений: 19
<phrase 1=


чтобы не плодить темы, спрошу тут же (как-никак связаны вопросы)
Код:
[Выделить все]
(vla-Select ss_texts acSelectionSetCrossing sp ep (vlax-safearray-fill (vlax-make-safearray vlax-vbinteger '(0 . 1)) '(0 8)) (vlax-safearray-fill (vlax-make-safearray vlax-vbvariant '(0 . 1)) filter))
каждый раз в набор попадает разное количество объектов, хотя сам чертёж я не трогаю. субьективно складывается ощущение, что это каким-то магическим образом зависит от масштаба и положения самого экрана (как бы странно это не звучало)
не подскажете как с этим бороться или как заменить этот шаг?

задача такова, что я хочу выбрать все объекты типа тест на определённой линии
__________________
чертежи - когда не хватает слов, чтобы описать "чувства"
Iory вне форума  
 
Непрочитано 28.07.2011, 11:50
#10
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Поищи уже обсуждалось создание набора зависит от видимой области экрана - проверяй каждый в рукопашную либо "колдуй" с масштабом.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > vla-Select и возвращаемое значение



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Проблемы с расчетом Ж/Б каркаса в ANSYS derik ANSYS 457 04.07.2017 16:16
Команда SELECT и предварительный выбор Admin AutoCAD 33 03.03.2014 15:09
Устойчивость мет. балки Net Конструкции зданий и сооружений 104 26.09.2011 20:14
ГОСТ Р 53231-2008 UnyqUm Поиск литературы, чертежей, моделей и прочих материалов 5 15.09.2009 14:41