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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как на сплайне, на местах определяющих точек поставить символ точка?

Как на сплайне, на местах определяющих точек поставить символ точка?

Ответ
Поиск в этой теме
Непрочитано 31.08.2010, 14:14 #1
Как на сплайне, на местах определяющих точек поставить символ точка?
Филипп
 
Регистрация: 03.06.2010
Сообщений: 51

Есть сплайн, с 4-мя определяющими точками. Необходимо, чтобы на этих определяющих точках проставились автоматически символ "точка" так как это выглядит на скриншоте, на четвёртой точке. Как это сделать?

Миниатюры
Нажмите на изображение для увеличения
Название: Сплайн.JPG
Просмотров: 126
Размер:	42.5 Кб
ID:	44533  

Просмотров: 5845
 
Непрочитано 31.08.2010, 14:23
#2
Кулик Алексей aka kpblc
Moderator

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


Поскольку вопрос в разделе "AutoCAD", ответ: команда _.point и поиграйся с объектной привязкой.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.08.2010, 14:56
#3
Филипп


 
Регистрация: 03.06.2010
Сообщений: 51


Если я правильно понимаю, то _.point просто вызывает команду "точка"
Как она решит задачу автоматической простановки точек в определяющих точках сплайна?
Филипп вне форума  
 
Непрочитано 31.08.2010, 14:59
#4
Кулик Алексей aka kpblc
Moderator

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


В чистом AutoCAD такое не сделать, насколько я знаю. Проставляй руками.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.08.2010, 15:07
#5
Филипп


 
Регистрация: 03.06.2010
Сообщений: 51


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В чистом AutoCAD
Готов сделать его грязным. :-) Где нужно набрать грязи?
Филипп вне форума  
 
Непрочитано 31.08.2010, 15:27
#6
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,600


Имхо, сплайн и есть грязь, годится для Corel Draw, но не для точного проектирования, ибо математика его такова, что не вписывается в реальные условия производства. Впредь избегайте. (если, конечно Вы не проектируете болиды F1 или резиновых женщин, - со слов В. Ерофеева, у женщин насчитывается более 27 изгибов...)
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Автор темы   Непрочитано 31.08.2010, 15:31
#7
Филипп


 
Регистрация: 03.06.2010
Сообщений: 51


Цитата:
Сообщение от CaMoCAD Посмотреть сообщение
но не для точного проектирования
Чертим графики. Вы можете сказать, что построй вначале точки, а потом соедени их сплайном. Пользователя такой расклад неустраивает.
Пользователя интересует точки по сплайну, ан е сплайн по точкам.
Филипп вне форума  
 
Непрочитано 31.08.2010, 15:58
#8
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,600


Цитата:
Сообщение от Филипп Посмотреть сообщение
Чертим графики. Вы можете сказать, что построй вначале точки, а потом соедени их сплайном. Пользователя такой расклад неустраивает.
Пользователя интересует точки по сплайну, ан е сплайн по точкам.
Нет, не могу сказать такого, потому как не понятно, что за графики и с чем их едят, НО (опять же имхо) графики(любые) есть отображение функции, отражающей зависимость ординат y от допустимых аргументов х, посему они строятся как раз по точкам, а не наоборот... или я что-то прогулял
Пардонамэ, по теме ничего подсказать не могу, не пользую сплайны и Вам не советую
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.

Последний раз редактировалось CaMoCAD, 31.08.2010 в 16:05.
CaMoCAD вне форума  
 
Непрочитано 31.08.2010, 17:16
1 | #9
VVA

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


Цитата:
Сообщение от Филипп Посмотреть сообщение
Готов сделать его грязным. :-) Где нужно набрать грязи?
Код:
[Выделить все]
(defun C:POS ( / spl)
  ;;;POS - Point On Spline
(vl-load-com)
(setvar "PDMODE" 35)
(and
  (setq spl (car(entsel "\nSelect spline:")))
  (setq spl (entget spl))
  (= (cdr(assoc 0 spl)) "SPLINE")
  (mapcar '(lambda(pt)
             (entmake (list (cons 0 "POINT") ;***
               (cons 6 "BYLAYER")
               (cons 8 "SPLINE-POINTS")
               (cons 10 pt) ;***
               ;(cons 39 0.0)
               ;(cons 50 0.0)
               ;(cons 62 256)
               (cons 210 (list 0.0 0.0 1.0)))
               )
             )
          (mapcar 'cdr (vl-remove-if '(lambda(x)(/= (car x) 11)) spl))
          )
  )
  (princ)
  )
*** Добавлено
Для 4-й точки
Код:
[Выделить все]
(defun C:POS4 ( / spl i)
  ;;;POS - Point On Spline
(vl-load-com)
(setvar "PDMODE" 35)
(and
  (setq spl (car(entsel "\nSelect spline:")))
  (setq spl (entget spl))
  (= (cdr(assoc 0 spl)) "SPLINE")
  (setq i 0)
  (mapcar '(lambda(pt)
             (if (= (setq i (1+ i)) 4)
             (entmake (list (cons 0 "POINT") ;***
               (cons 6 "BYLAYER")
               (cons 8 "SPLINE-POINTS")
               (cons 10 pt) ;***
               ;(cons 39 0.0)
               ;(cons 50 0.0)
               ;(cons 62 256)
               (cons 210 (list 0.0 0.0 1.0)))
               )
               )
             )
          (mapcar 'cdr (vl-remove-if '(lambda(x)(/= (car x) 11)) spl))
          )
  )
  (princ)
  )
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 31.08.2010, 17:45
#10
Филипп


 
Регистрация: 03.06.2010
Сообщений: 51


Цитата:
Сообщение от VVA Посмотреть сообщение
Код:
Снимаю шляпу и аплодирую стоя
Скажите, а где в коде указан стиль отображения точки? У меня пользователи могут захотеть поменять вид точки. И где посмотреть коды всех стилей точек?

Последний раз редактировалось Филипп, 31.08.2010 в 17:52.
Филипп вне форума  
 
Непрочитано 31.08.2010, 19:06
1 | #11
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Филипп, строка (setvar "PDMODE" 35) назначает стиль точки (переменная PDMODE).
в справке по AutoCAD'у можно посмотреть, какие значения может принимать эта переменная.
В программе следует заменить число 35 на нужное пользователю.
Хмурый вне форума  
 
Непрочитано 31.08.2010, 19:08
#12
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от Филипп Посмотреть сообщение
У меня пользователи могут захотеть поменять вид точки
Команда: 'ДИАЛТТОЧ ('_ddptype)
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Непрочитано 31.08.2010, 19:11
#13
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Disney, программа конкретно назначает стиль точки 35, и её не исправить при помощи '_ddptype .
Хмурый вне форума  
 
Непрочитано 31.08.2010, 19:31
1 | #14
VVA

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


можешь вообще убрать эту строчку.
Код:
[Выделить все]
(setvar "PDMODE" 35)
Будет чертить установленным стилем. Это я вставил на всякий случай чтобы было видно результат работы программы
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 01.09.2010, 05:36
#15
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от Хмурый Посмотреть сообщение
программа конкретно назначает стиль точки 35, и её не исправить при помощи '_ddptype .
Почему не исправит? Исправит... но только до следующего вызова этой программы
[IMG]http://s53.***********/i139/1009/88/450cb25a4b54.gif[/IMG]

поэтому лучше
Цитата:
Сообщение от VVA Посмотреть сообщение
вообще убрать эту строчку.
или заменить на
Код:
[Выделить все]
(if(<=(getvar 'PDMODE)1)(setvar 'PDMODE 35))
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Непрочитано 01.09.2010, 10:49
#16
atollon


 
Регистрация: 26.03.2010
Сообщений: 240


Хмурый, не все ли равно какими точками чертит программа, настройки точек изменяются глобально, поэтому имеют вид последних настроек, так что если потом вызвать диал.окно, командой '_ddptype (Формат->Отображение точек...)...
__________________
Толстов Евгений
atollon вне форума  
 
Автор темы   Непрочитано 01.09.2010, 17:17
#17
Филипп


 
Регистрация: 03.06.2010
Сообщений: 51


Цитата:
Сообщение от atollon Посмотреть сообщение
не все ли равно какими точками чертит программа
Действительно не всё равно. Зачем менять представление точки после того как они проставились, если их представление сразу можно описать на лиспе?
Филипп вне форума  
 
Непрочитано 01.09.2010, 18:32
#18
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от Филипп Посмотреть сообщение
Снимаю шляпу и аплодирую стоя
Скажите, а где в коде указан стиль отображения точки? У меня пользователи могут захотеть поменять вид точки. И где посмотреть коды всех стилей точек?
Я дал на твой вопрос конкретный ответ или нет?

Последний раз редактировалось Хмурый, 01.09.2010 в 20:28.
Хмурый вне форума  
 
Автор темы   Непрочитано 02.09.2010, 08:17
#19
Филипп


 
Регистрация: 03.06.2010
Сообщений: 51


Цитата:
Сообщение от Хмурый Посмотреть сообщение
конкретный ответ
Да, ответ по поводу строки кода, где указан стильстиль проставляемой точки, я получил конкретный. Спасибо. Только я решил вообще убрать эту строку, дабы пользователь самостоятельно имел возможность проставлять нужный ему стиль.
Филипп вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как на сплайне, на местах определяющих точек поставить символ точка?