
Я пытаюсь воссоздать эту нарисованную от руки схему деревянной подставки:
Вот .tex: (он немного длиннее, чем MWE).
\documentclass[12pt]{article}
\usepackage[paper=a2paper,margin=1cm,landscape]{geometry}
\pagestyle{empty}
\usepackage{blindtext}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{shapes.multipart}
\usetikzlibrary{patterns}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\node[minimum width=30cm, minimum height=30cm,draw,thick,rectangle](TopSquare){};
\node [below=10mm of TopSquare] {Top View};
\node [below=0mm of TopSquare] {30cm};
\node [rotate=90, left=5mm of TopSquare] {30cm};
\node[minimum width=2cm, minimum height=30cm,draw,thick,rectangle, right=25mm of TopSquare](SideView){};
\node[minimum width=14cm, minimum height=30cm,draw=none, right=25mm of TopSquare](Side){};
\node[below=10mm of Side]{Side View};
%\node [below=10mm of SideView] {Side View};
\node [below=0mm of SideView] {2cm};
%\node [rotate=90, left=5mm of SideView] {30cm};
\node[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,below right=-20mm and 0mm of SideView](Sup1){};
\node[below=0mm of Sup1] {12cm};
\node[minimum width=12cm,minimum height=2cm,draw,thick,rectangle, right= 0mm of SideView](Sup2){};
%\node[below=0mm of Sup2] {12cm};
\node[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,above right=-20mm and 0mm of SideView](Sup3){};
%\node[below=0mm of Sup3] {12cm};
\end{tikzpicture}
\section*{Instructions}
\begin{itemize}
\item\blindtext
\item\blindtext
\item\blindtext
\end{itemize}
\end{document}
что приводит к этому PDF-файлу: (Скриншот, я добавил красные элементы, чтобы показать проблемы.)
- Я хочу масштабировать изображение до формата А3, но сохранить размер шрифта. (Печать масштабированного изображения А2 на формате А4 приводит к трудночитаемому тексту. Я использую,
[a2paper]{geometry}
чтобы видеть весьtikzpicture
. Я мог бы сделать фигуру меньше, т.е.
\node[minimum width=5cm, minimum height=5cm,draw,thick,rectangle](TopSquare){};
Но тогда мне пришлось бы переделывать все прямоугольники и т.д.Я бы хотел добавить красные элементы. Ящик в длинном вертикальном ящике на виде сбоку находится на той же высоте, что и красные круги в меньших квадратах.
- Там, где коробка размером 12 см встречается с планкой размером 2 см x 30 см, нет хорошего нахлеста.
- Я хотел бы добавить пунктирные линии, чтобы обозначить меньшие квадраты в формате 30x30.
- Он
\section*{Instructions}
будет заполнен пулями для моего друга-столяра, который сделает эту подставку.
решение1
Вот некоторые ответы на ваши вопросы.
Я мог бы сделать фигуру меньше, т. е. \nominimum width=5cm, minimum height=5cm,draw,thick,rectangle{};. Но тогда мне пришлось бы перенастраивать все прямоугольники и т. д.
Вы можете использовать некоторые параметры масштабирования, приведенные в этомотвечать.
Я бы хотел добавить красные элементы. Ящик в длинном вертикальном ящике на виде сбоку находится на той же высоте, что и красные круги в меньших квадратах.
Высота и ширина желаемой коробки задавалась вручную в соответствии с окружностью и другими размерами.
Там, где коробка размером 12 см встречается с планкой размером 2 см x 30 см, нет хорошего нахлеста.
Чтобы получить хорошее перекрытие, я использовал параметры xshift
и yshift
в команде рисования. (Отрегулировал вручную для достижения наилучшего результата).
КОД:
\documentclass[12pt]{article}
\usepackage[paper=a3paper,margin=1cm,landscape]{geometry} %<---- A3 landscape.
\pagestyle{empty}
\usepackage{blindtext}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{shapes.multipart}
\usetikzlibrary{patterns,calc}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[thick,scale=0.6, every node/.style={transform shape}]% Scaling
\node[minimum width=30cm, minimum height=30cm,draw,thick,rectangle](TopSquare){};
\node [below=10mm of TopSquare] {Top View};
\node [below=0mm of TopSquare] {30cm};
\node [rotate=90, left=5mm of TopSquare] {30cm};
\draw[dotted] (TopSquare.north)--(TopSquare.south);
\draw[dotted] (TopSquare.west)--(TopSquare.east);
\path (TopSquare.center)coordinate(O)--(TopSquare.north east)coordinate(C);
\node [draw,circle,minimum size=4cm] at ($(O)!0.5!(C)$)(D3) {} ;
\path (TopSquare.center)coordinate(O)--(TopSquare.north west)coordinate(D);
\node [draw,circle,minimum size=4cm] at ($(O)!0.5!(D)$)(D4) {} ;
\path (TopSquare.center)coordinate(O)--(TopSquare.south west)coordinate(A);
\node [draw,circle,minimum size=4cm] at ($(O)!0.5!(A)$)(D1) {} ;
\path (TopSquare.center)coordinate(O)--(TopSquare.south east)coordinate(B);
\node [draw,circle,minimum size=4cm] at ($(O)!0.5!(B)$)(D2) {} ;
\node[minimum width=2cm, minimum height=30cm,draw,thick,rectangle, right=25mm of TopSquare](SideView){};
\node[minimum width=14cm, minimum height=30cm,draw=none, right=25mm of TopSquare](Side){};
\node[below=10mm of Side]{Side View};
%\node [below=10mm of SideView] {Side View};
\node [below=0mm of SideView] {2cm};
%\node [rotate=90, left=5mm of SideView] {30cm};
\path[dotted,draw] (SideView.east)coordinate(SL)--(SideView.west);
\path (SL)--(SideView.north west)coordinate(SVR);
\node [draw,rectangle,minimum height=4cm,minimum width=1cm] at ($(SL)!0.5!(SVR)$){};
\path (SL)--(SideView.south west)coordinate(SVRR);
\node [draw,rectangle,minimum height=4cm,minimum width=1cm] at ($(SL)!0.5!(SVRR)$){};
\node (Sup1) at (SideView.south east)[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,xshift=5.99cm,yshift=1.01cm]{};
\node (Sup2) at (SideView.east)[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,xshift=5.99cm,yshift=0cm]{};
\node (Sup3) at (SideView.north east)[minimum width=12cm,minimum height=2cm,draw,thick,rectangle,xshift=5.99cm,yshift=-1.015cm]{};
\draw[dashed](D3.90)--++(0:11cm);
\draw[dashed](D3.-90)--++(0:11cm);
\draw[dashed](D2.90)--++(0:11cm);
\draw[dashed](D2.-90)--++(0:11cm);
\end{tikzpicture}
\section*{Instructions}
\begin{itemize}
\item\blindtext
\item\blindtext
\item\blindtext
\end{itemize}
\end{document}