4

\tkzDrawArc[R,arc](B,1.1*\dBD)(20,83) works well. But \tkzDrawCircle[R] is not working...

\documentclass[border=2pt]{standalone}
\usepackage[usenames,dvipsnames,svgnames]{xcolor}
\usepackage{tkz-euclide}
\usetkzobj{all}
\definecolor{fondpaille}{cmyk}{0,0,0.1,0}
\pagecolor{fondpaille}
\color{Maroon} 

\begin{document}
\begin{tikzpicture}[scale=1.0]
\tkzDefPoint(0,0){B} 
\tkzDefPoint(0,6){A} 
\tkzDefPoint(8,0){C}
\tkzLabelPoints[below](B,C)
\tkzLabelPoints[left](A)


\tkzDrawSegment[thick](A,B)
\tkzDrawSegment[thick](C,B)
\tkzDrawSegment[thick](A,C)

\tkzDefMidPoint(B,C)\tkzGetPoint{M}
\tkzInterLC(A,C)(M,C) \tkzGetPoints{D}{E} \tkzLabelPoints[above](D)
\tkzDrawSegment[thick](B,D)
\tkzCalcLength[cm](B,D) \tkzGetLength{dBD}
\tkzDrawArc[R,arc](B,1.1*\dBD)(20,83)
\tkzDrawCircle[R](A,1.1*\dBD)
%\tkzInterLC[R](A,C)(B,1.1*\dBD) \tkzGetPoints{D_1}{D_2}
\end{tikzpicture}
\end{document}

enter image description here

1
  • Possible ´\tkzDrawSegments[thick](A,B B,C C,A)´ or ´\tkzDrawPolygon(A,B,C)’ . In the documentation you can find other possibilities to transform pt in cm. Commented Aug 13, 2018 at 11:21

1 Answer 1

10

The macro \tkzGetLength returns the length expressed in pt, if you use cm, you must convert this measurement to cm when calling it.

\tkzDrawCircle[R](A,\dBD cm) instead of \tkzDrawCircle[R](A,\dBD)

In addition, calculations are prohibited during the passage of parameters to allow you to choose the calculation engine (see p 57 of manual):

  • pgf with \pgfsetmacro
  • fp with \fpeval

    \documentclass[border=2pt]{standalone}
    \usepackage[usenames,dvipsnames,svgnames]{xcolor}
    \usepackage{tkz-euclide}
    \usetkzobj{all}
    \definecolor{fondpaille}{cmyk}{0,0,0.1,0}
    \pagecolor{fondpaille}
    \color{Maroon} 
    
    \begin{document}
    \begin{tikzpicture}[scale=1.0]
    \tkzDefPoint(0,0){B} 
    \tkzDefPoint(0,6){A} 
    \tkzDefPoint(8,0){C}
    \tkzLabelPoints[below](B,C)
    \tkzLabelPoints[left](A)
    
    
    \tkzDrawSegment[thick](A,B)
    \tkzDrawSegment[thick](C,B)
    \tkzDrawSegment[thick](A,C)
    
    \tkzDefMidPoint(B,C)\tkzGetPoint{M}
    \tkzInterLC(A,C)(M,C) \tkzGetPoints{D}{E} \tkzLabelPoints[above](D)
    \tkzDrawSegment[thick](B,D)
    \tkzCalcLength[cm](B,D) \tkzGetLength{dBD}
    \pgfmathsetmacro{\tkzLen}{1.1*\dBD}
    \tkzDrawArc[R,arc](B, \tkzLen cm)(20,83)
    \tkzDrawCircle[R](A,\dBD cm)
    \tkzInterLC[R](A,C)(B, \tkzLen cm ) \tkzGetPoints{D_1}{D_2}
    \end{tikzpicture}
    \end{document}
    

output

tkz-euclide

1
  • 1
    You are right. We have the possibility to use fp or pgf and perhaps lua if can work ! Commented Aug 13, 2018 at 11:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .