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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проблема с образмериванием при адаптации (LSP)

Проблема с образмериванием при адаптации (LSP)

Ответ
Поиск в этой теме
Непрочитано 10.11.2015, 12:51 #1
Проблема с образмериванием при адаптации (LSP)
PIARX
 
Воронеж
Регистрация: 11.06.2007
Сообщений: 15

При переходе с 2007-го на 2015-й пришлось выполнять адаптацию своих наработок. И столкнулся с проблемой образмеривания.
Собственно, тушка одной из проблемных программ вот.

Код:
[Выделить все]
;+++++++++++++++++++++++++++++++++++++OK.lsp++++++++++++++++++++++++++++++++++++
                         ;Окно без четверти. 

(defun C:OK ()
 (setvar "CMDECHO" 0)         
(command "_layer" "_s" "STEN" "")
     (setq H ($getdist "\nДлина проема:" 1410 P01))
(command "_osnap" "_int")
           (setq P0 (getpoint "\nТочка привязки:"))
(command "_osnap" "_nea")
           (setq P4 (getpoint P0 "\nТочка вставки:"))
(command "_osnap" "_per")
           (setq PP (getpoint P4
                   "\nУкажите внутреннюю грань стены:"))
(command "_osnap" "_none")
           (setq A (angle P0 P4))
           (setq AA (angle P4 PP))
           (setq H1 (distance P4 PP))
      (setq P1 (polar P4 A H))
      (setq P2 (polar P4 AA H1 ))
      (setq P3 (polar P1 AA H1 ))
             (setq P5 (polar P4 AA (/ H1 3 )))
             (setq P6 (polar P1 AA (/ H1 3 )))
       (setq R1 (polar P4 A (/ H 2)))
       (setq R2 (polar P2 A (/ H 2)))
(command "_BREAK" R1 "_F" P4 P1)
(command "_BREAK" R2 "_F" P2 P3)
(command "_line"  P4 P2 "")
(command "_line" P1 P3 "")
(command "_LAYER" "_s" "OKN" "")
(command "_LINE" P4 P1 "")
(command "_line" P5 P6 "")
(command "_line" P2 P3 "" )
(command "_LAYER" "_s" "Razm" "")
          (setq PD (getpoint "\nПоложение размерной линии:"))
(command "_dim" "_aligned" P0 P4 PD "" "")
(command "_dim" "_aligned" P4 P1 PD "" "_Exit")
(command "_layer" "_s" "0" "")
(command "_OSNAP" "_INT")
(princ)
)
Программа выполняет то, что мне нужно, но выдает

Длина проема:<1410>:
1410
Точка привязки:
Точка вставки:
Укажите внутреннюю грань стены:
Положение размерной линии:
Введена неверная точка.
Введена неверная точка.



В чем подвох, где ошибка?

Последний раз редактировалось Кулик Алексей aka kpblc, 10.11.2015 в 13:45.
Просмотров: 3993
 
Непрочитано 10.11.2015, 12:58
#2
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


А где взять P01? И где описание команды $getdist?
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Автор темы   Непрочитано 10.11.2015, 13:04
#3
PIARX


 
Регистрация: 11.06.2007
Воронеж
Сообщений: 15


>А где взять P01?

А у меня и нет такой
А P0 задана
(setq P0 (getpoint "\nТочка привязки:"))
PIARX вне форума  
 
Непрочитано 10.11.2015, 13:05
#4
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


(setq H ($getdist "\nДлина проема:" 1410 P01))
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Автор темы   Непрочитано 10.11.2015, 13:05
#5
PIARX


 
Регистрация: 11.06.2007
Воронеж
Сообщений: 15


Цитата:
Сообщение от ProPeller Посмотреть сообщение
где описание команды $getdist?
Я выложил фрагмент сборки. с $getdist проблем нет
PIARX вне форума  
 
Непрочитано 10.11.2015, 13:06
#6
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Цитата:
Сообщение от PIARX Посмотреть сообщение
$getdist
У вас нет, а нам-то как код ваш проверить?
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Автор темы   Непрочитано 10.11.2015, 13:06
#7
PIARX


 
Регистрация: 11.06.2007
Воронеж
Сообщений: 15


Цитата:
Сообщение от ProPeller Посмотреть сообщение
(setq H ($getdist "\nДлина проема:" 1410 P01))
отчетрт... 20 раз мотрел и не увидел..)) Спасибо))

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от ProPeller Посмотреть сообщение
У вас нет, а нам-то как код ваш проверить?
да с P01 видимо косяк. Спасибо..

----- добавлено через ~15 мин. -----
Цитата:
Сообщение от ProPeller Посмотреть сообщение
У вас нет, а нам-то как код ваш проверить?
Ан нет. Исправление P01 ничего не дало. ((


Код:
[Выделить все]
(defun $getdist (string default ref_point / value question)
 (setq question
     (strcat "\n" string "<" (rtos default) ">: ")
 )
    (if ref_point (setq value (getdist ref_point question))
             (setq value (getdist question))
        )
(if (= value nil)(setq value default) value)
(princ value)
)


;+++++++++++++++++++++++++++++++++++++OK.lsp++++++++++++++++++++++++++++++++++++
                         ;Окно без четверти. 

(defun C:OK ()
 (setvar "CMDECHO" 0)         
(command "_layer" "_s" "STEN" "")
     
(command "_osnap" "_int")
           (setq P0 (getpoint "\nТочка привязки:"))
(command "_osnap" "_nea")
(setq H ($getdist "\nДлина проема:" 1410 P0))
           (setq P4 (getpoint P0 "\nТочка вставки:"))
(command "_osnap" "_per")
           (setq PP (getpoint P4
                   "\nУкажите внутреннюю грань стены:"))
(command "_osnap" "_none")
           (setq A (angle P0 P4))
           (setq AA (angle P4 PP))
           (setq H1 (distance P4 PP))
      (setq P1 (polar P4 A H))
      (setq P2 (polar P4 AA H1 ))
      (setq P3 (polar P1 AA H1 ))
             (setq P5 (polar P4 AA (/ H1 3 )))
             (setq P6 (polar P1 AA (/ H1 3 )))
       (setq R1 (polar P4 A (/ H 2)))
       (setq R2 (polar P2 A (/ H 2)))
(command "_BREAK" R1 "_F" P4 P1)
(command "_BREAK" R2 "_F" P2 P3)
(command "_line"  P4 P2 "")
(command "_line" P1 P3 "")
(command "_LAYER" "_s" "OKN" "")
(command "_LINE" P4 P1 "")
(command "_line" P5 P6 "")
(command "_line" P2 P3 "" )
(command "_LAYER" "_s" "Razm" "")
          (setq PD (getpoint "\nПоложение размерной линии:"))
(command "_dim" "_aligned" P0 P4 PD "" "")
(command "_dim" "_aligned" P4 P1 PD "" "_Exit")
(command "_layer" "_s" "0" "")
(command "_OSNAP" "_INT")
(princ)
)

Последний раз редактировалось Кулик Алексей aka kpblc, 10.11.2015 в 13:46.
PIARX вне форума  
 
Непрочитано 10.11.2015, 13:46
#8
Кулик Алексей aka kpblc
Moderator

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


PIARX, тэги [code][/code] не просто так существуют!

----- добавлено через ~1 мин. -----
Вместо последовательности команд "_.dim" "_aligned" попробуй сразу использовать "_.dimaligned"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.11.2015, 13:58
#9
PIARX


 
Регистрация: 11.06.2007
Воронеж
Сообщений: 15


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Вместо последовательности команд "_.dim" "_aligned" попробуй сразу использовать "_.dimaligned"
Спасибо, попробую..

----- добавлено через ~9 мин. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
попробуй сразу использовать "_.dimaligned"
неа.. Только хуже... выдает теперь так.

Длина проема:<1410>:
1410
Точка вставки:
Укажите внутреннюю грань стены:
Положение размерной линии:Неизвестная команда "OK". Для вызова справки нажмите F1.
Неизвестная команда "OK". Для вызова справки нажмите F1.
Неизвестная команда "OK". Для вызова справки нажмите F1.
Неизвестная команда "EXIT". Для вызова справки нажмите F1.

----- добавлено через ~20 ч. -----
Спасибо тем, кто откликнулся. Заработало.)) Мож кому пригодится..
ошибка была в кавычках в конце строки (command "_dimaligned" P0 P4 PD "" "")
вот так должно быть...

Код:
[Выделить все]
;+++++++++++++++++++++++++++++++++++++OK.lsp++++++++++++++++++++++++++++++++++++
                         ;Окно без четверти. 

(defun C:OK ()
 (setvar "CMDECHO" 0)         
(command "_layer" "_s" "STEN" "")
     
(command "_osnap" "_int")
           (setq P0 (getpoint "\nТочка привязки:"))
(command "_osnap" "_nea")
(setq H ($getdist "\nДлина проема:" 1410 P0))
           (setq P4 (getpoint P0 "\nТочка вставки:"))
(command "_osnap" "_per")
           (setq PP (getpoint P4
                   "\nУкажите внутреннюю грань стены:"))
(command "_osnap" "_none")
           (setq A (angle P0 P4))
           (setq AA (angle P4 PP))
           (setq H1 (distance P4 PP))
      (setq P1 (polar P4 A H))
      (setq P2 (polar P4 AA H1 ))
      (setq P3 (polar P1 AA H1 ))
             (setq P5 (polar P4 AA (/ H1 3 )))
             (setq P6 (polar P1 AA (/ H1 3 )))
       (setq R1 (polar P4 A (/ H 2)))
       (setq R2 (polar P2 A (/ H 2)))
(command "_BREAK" R1 "_F" P4 P1)
(command "_BREAK" R2 "_F" P2 P3)
(command "_line"  P4 P2 "")
(command "_line" P1 P3 "")
(command "_LAYER" "_s" "OKN" "")
(command "_LINE" P4 P1 "")
(command "_line" P5 P6 "")
(command "_line" P2 P3 "" )
(command "_LAYER" "_s" "Razm" "")
          (setq PD (getpoint "\nПоложение размерной линии:"))
(command "_dimaligned" P0 P4 PD)
(command "_dimaligned" P4 P1 PD)
(command "_layer" "_s" "0" "")
(command "_OSNAP" "_INT")
(princ)
)
PIARX вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проблема с образмериванием при адаптации (LSP)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактор блоков, проблема при двойном клике Klim007 AutoCAD 5 08.09.2024 21:14
Проблема с распечаткой растра из автокад - ступенчатость линий и границ mechos AutoCAD 20 22.08.2022 12:47
Проблема с Удлиннением отрезка rtyu AutoCAD 24 24.07.2012 16:28
AutoCAD 2008: Проблема при печати файла с неизвестным форматом листа Fredyk AutoCAD 3 12.07.2012 12:26
Проблема с ксероксом Canon PC860 _Oleg_ Разное 5 26.12.2007 10:18