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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание vport`ов

Программное создание vport`ов

Ответ
Поиск в этой теме
Непрочитано 29.08.2007, 11:57 #1
Программное создание vport`ов
Ax3
 
Programming, automation, CADs, GISs. "Теплоком"
 
Россия, Санкт-Петербург
Регистрация: 02.02.2007
Сообщений: 306

Всем привет и успехов в работе, уважаемые коллеги!
Такая проблема. Надо программно раздербанить пространство модели на несколько видовых портов. С помощью (vl-cmdf "_vports" <...>) требуемую конфигурацию получить не удается. Подскажите, какие команды или функции лиспа можно использовать для работы с vport`ами?
__________________
На LISPе можно мыслить!
Просмотров: 3657
 
Непрочитано 29.08.2007, 12:41
#2
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Можно например так:
Код:
[Выделить все]
^C^C(vl-cmdf "_.vports" "3" "")
Makswell вне форума  
 
Автор темы   Непрочитано 29.08.2007, 12:54
#3
Ax3

Programming, automation, CADs, GISs. "Теплоком"
 
Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306


Ну а если надо четыре маленьких впорта разместить слева от основного чертежа?
__________________
На LISPе можно мыслить!
Ax3 вне форума  
 
Непрочитано 29.08.2007, 13:18
#4
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Ax3
Ну а если надо четыре маленьких впорта разместить слева от основного чертежа?
Что-нибудь в таком духе:
Код:
[Выделить все]
(defun demo (/ adoc base lat lats lnam papr)
    (setq adoc (vla-get-activedocument (vlax-get-acad-object))
          lats (vla-get-layouts adoc)
          papr (vla-get-paperspace adoc)
          lnam "MyTestLayout"
    )
    (if (vl-catch-all-error-p
            (setq lat (vl-catch-all-apply (function vla-item) (list lats lnam)))
        )
        (setq lat (vla-add lats lnam))
    )
    (vla-put-activelayout adoc lat)
    (vla-put-activespace adoc acpaperspace)
    (setq base (getpoint "\nУкажи левый нижний угол: "))
    (vla-addpviewport papr (vlax-3d-point (polar (polar base 0 150) (/ pi 2) 100)) 300 200)
    (vla-addpviewport papr (vlax-3d-point (polar (polar base 0 400) (/ pi 2) 100)) 200 200)
    (vla-addpviewport papr (vlax-3d-point (polar (polar base 0 250) (/ pi 2) 300)) 500 200)
    (princ)
)
Alaspher вне форума  
 
Автор темы   Непрочитано 29.08.2007, 13:22
#5
Ax3

Programming, automation, CADs, GISs. "Теплоком"
 
Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306


Alaspher, rulezz! Я подозревал, что activeX надо копнуть. Спасибо!
__________________
На LISPе можно мыслить!
Ax3 вне форума  
 
Непрочитано 29.08.2007, 14:34
#6
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Alaspher а макрос запуска какой твоего лиспа

что то командой demo не запускается
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 29.08.2007, 14:47
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


>dextron3
Читай здесь
VVA вне форума  
 
Непрочитано 29.08.2007, 15:34
#8
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Цитата:
(defun c:demo (/ adoc base lat lats lnam papr)
вот подправил, теперь работает
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 29.08.2007, 15:35
#9
Ax3

Programming, automation, CADs, GISs. "Теплоком"
 
Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306


А в modelspace не прокатывает такой способ. Разве в modelspace нельзя создавать произвольные впорты?
ЗЫ. Блин, вообще метод addpviewport не применим к пространству модели! Вот засада...
__________________
На LISPе можно мыслить!
Ax3 вне форума  
 
Непрочитано 29.08.2007, 16:00
#10
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Ax3
А в modelspace не прокатывает такой способ. Разве в modelspace нельзя создавать произвольные впорты?
ЗЫ. Блин, вообще метод addpviewport не применим к пространству модели! Вот засада...
Естественно! В модели видовые экраны не плавающие. Это совсем другой объект viewport и работа с ним строится принципиально иначе. Попробуй отдампить объект полученный через - (vla-get-ActiveViewport (vla-get-activedocument (vlax-get-acad-object))) и посмотреть его свойства и методы.
Alaspher вне форума  
 
Автор темы   Непрочитано 29.08.2007, 16:02
#11
Ax3

Programming, automation, CADs, GISs. "Теплоком"
 
Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306


угу, понял...
__________________
На LISPе можно мыслить!
Ax3 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание vport`ов

Размещение рекламы